2012-08-02 21 views

Trả lời

25

Nếu tôi đã hiểu câu hỏi của bạn một cách chính xác, bạn có thể làm điều đó với các phím sau đây (ví dụ với OS X keybindings):

  1. Ctrl + Shift + Up hoặc Ctrl + Shift + Xuống để chọn một cột trong nhiều dòng.
  2. Cmd + Shift + Phải (Shift + Kết thúc trên hệ điều hành khác) để mở rộng lựa chọn lên đến cuối mỗi dòng.

Các keybindings liên quan cho tất cả các hệ điều hành: http://www.sublimetext.com/docs/2/column_selection.html

+3

Shift + End - awesome! Cảm ơn bạn. – alexy2k

+0

Cmd-Shift-Right chuyển sang từ tiếp theo trong mỗi dòng được chọn cho tôi. Cmd-Right đã đi đến cuối dòng cho tất cả các dòng được chọn. – velotron

3

Bạn cũng có thể nhận được kết quả tương tự theo các bước sau:

  1. chọn dòng bằng cách Shift + Lên/Xuống
  2. lựa chọn split vào các dòng (trong số các lựa chọn): Cmd + Shift + L
1
import sublime, sublime_plugin 

class SelectToEndoflineCommand(sublime_plugin.TextCommand): 
    def run(self, edit): 
     caretPos = self.view.sel()[0].begin() 
     self.view.sel().add(sublime.Region(caretPos, self.view.line(caretPos).end())) 

class SelectToBegoflineCommand(sublime_plugin.TextCommand): 
    def run(self, edit): 
     caretPos = self.view.sel()[0].begin() 
     self.view.sel().add(sublime.Region(caretPos, self.view.line(caretPos).begin())) 
2

Câu trả lời của robertcollier4 giải quyết được câu hỏi cho tôi. Vì một lý do nào đó, khóa liên kết OSX mặc định + shift + phải mặc định được ghi đè trong Sublime Text 3 và không có cách nào để hủy liên kết chính xác nó trong các ràng buộc khóa người dùng.

Để thêm mã robert như một plugin đi đến Tools > New Plugin, dán mã, lưu nó và thêm một tham chiếu đến nó trong keymapping của bạn:

[ 
    { "keys": ["super+shift+right"], "command": "SelectToEndoflineCommand" } 
] 

Sự thay đổi duy nhất tôi thực hiện cho nó là để thay đổi

caretPos = self.view.sel()[0].begin() 

để

caretPos = self.view.sel()[0].end() 

cho hàm EOL, nếu không nó sẽ không hoạt động chính xác cho các lựa chọn nhiều dòng.

+0

Trong SublimeText 2 Tôi đã phải thay đổi tên lệnh "chuẩn hóa": "command": "select_to_endofline" – Cabadath

4

tôi đến câu trả lời này bởi vì tôi đã tìm cách nơi con trỏ vào tất cả các dòng đến EOF (cuối tập tin) mà không sử dụng ctrl + alt + / (không pratical cho hơn một vài chục dòng), vì vậy tôi có thể cắt hoặc chọn một phần cụ thể của những dòng này.

Vì vậy, tôi cuối cùng đã kết thúc trong sublime text documentation nơi tôi tìm thấy:

  • ctrl + thay đổi + L mà sẽ đặt con trỏ ở tất cả các dòng được lựa chọn và ở phần cuối của họ (EOL):
    • chọn những dòng với ctrl +L (hoặc ctrl + shift + Kết thúc để chọn cho đến EOF);
    • nhấn ctrl + shift + L để thêm con trỏ tại EOL;
    • bây giờ bạn có thể di chuyển tất cả các con trỏ cùng một lúc bằng lời nói với ctrl + / hay đến BOLs/EOLs với Home/End), nếu bạn cũng nhấn thay đổi bạn sẽ chọn trong khi di chuyển chúng;
  • nhưng tính năng hữu ích nhất chắc chắn là nhấp chuột giữa của chuột + kéo mà chọn dòng và đồng thời đặt con trỏ vào cuối những lựa chọn:
    • BONUS: Nếu bạn chỉ muốn đặt con trỏ vào EOL (không chọn) nhấp vào nền (sau EOL) và kéo! (nếu các dòng quá dài, bạn có thể sử dụng minimap để định vị màn hình xem của bạn ở dòng dài nhất);
    • bây giờ bạn có thể di chuyển tất cả các con trỏ cùng một lúc bằng lời nói với ctrl +/ hay đến BOLs với Home), nếu bạn cũng nhấn thay đổi bạn sẽ lựa chọn trong khi di chuyển chúng.
Các vấn đề liên quan