2013-08-02 48 views
23

Các văn bản tuyệt vời word_separator là:văn bản Sublime word_separator CamelCase

"word_separators": "./\\()\"'-:,.;<>[email protected]#$%^&*|+=[]{}`~?", 

Tôi cũng muốn thay đổi trường hợp trong CamelCase được xem xét thay đổi. Có một thiết lập/cách để làm điều này?

(Ví dụ: trong FooBar ctrl + bck_space sẽ chỉ xóa Thanh).

+4

Bấm alt thay vì Ctrl – Taylan

+0

Alt + Delete là không giới hạn. – atamanroman

Trả lời

4

Tôi nghĩ rằng điều này chỉ có thể được thực hiện thông qua một plugin, không chỉ đơn giản bằng cách thay đổi cài đặt của văn bản tuyệt vời.

Plugin này sẽ hứa hẹn:
https://github.com/jdc0589/CaseConversion

40

Trong trường hợp bất cứ ai vẫn nhìn này ...

Trong keybindings mặc định của bạn, bạn sẽ tìm thấy:

{ "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} }, 
{ "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} }, 
{ "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} }, 
{ "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} }, 

{ "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false} }, 
{ "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true} }, 
{ "keys": ["alt+shift+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true} }, 
{ "keys": ["alt+shift+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true} }, 

Sử dụng alt + hướng sẽ di chuyển bởi "subwords" trái ngược với "words", có tính đến camelCase. Tôi thích rằng trên mặc định vì vậy tôi đã sao chép các alt + hướng đặt vào keybindings người dùng của tôi và thay thế các trường hợp của alt với ctrl. Voila, ctrl + hướng di chuyển bằng camelCase cũng như các dấu tách từ được xác định.

Ngoài ra, tôi không chắc liệu việc sử dụng cài đặt subwords có tính đến dấu gạch dưới hay không, tôi luôn thêm _ vào dấu tách từ chỉ để đảm bảo.

+1

Là một phụ trang: Cài đặt này có vẻ chỉ hoạt động với Windows. Trên máy Mac, 'Alt + Left' là hệ thống mặc định cho "di chuyển theo từ" - tôi đã phải ánh xạ theo cách thủ công 'Super + Left' sang" di chuyển theo subwords "trong tùy chọn kết hợp khóa do người dùng xác định – Philipp

+0

Dấu tách từ chỉ là' _ 'và thay đổi từ trên xuống dưới. Tên 'foo1bar' có 1 từ con, trong khi' foo1Bar' có 2 từ con (foo1 + Bar), cũng 'foo_bar' có 2 từ con (foo_ + bar) – Philipp

+0

@Philipp Đối với tôi Alt + Left cũng hoạt động trong OS X. _ (dấu gạch dưới) không phải là dấu phân tách từ mặc định, do đó bạn sẽ phải thêm nó vào trong Preferences.sublime-settings của người dùng. –

3

chỉ Sử dụng alt công trình cho việc di chuyển, không cho xóa, nhưng tôi thấy cái gì đó hoạt động khá tốt:

Xóa về phía trước (alt + delete):

delete_subword.sublime-macro: 
[ 
    { 
     "command": "move", 
     "args": { 
     "by": "subwords", 
     "extend": true, 
     "forward": false 
     } 

    }, 
    { 
     "args": null, 
     "command": "left_delete" 
    } 
] 

Xóa lùi lại (alt + backspace)

delete_subword_forward.sublime-macro: 
[ 
    { 
     "command": "move", 
     "args": { 
     "by": "subwords", 
     "extend": true, 
     "forward": true 
     } 
    }, 
    { 
     "args": null, 
     "command": "right_delete" 
    } 
] 

Lưu nó vào thư mục Người dùng của bạn. Bây giờ, bạn gắn chìa khóa như thế này:

{ "keys": ["alt+backspace"], "command": "run_macro_file", "args": {"file": "Packages/User/delete_subword.sublime-macro"} }, 
{ "keys": ["alt+delete"], "command": "run_macro_file", "args": {"file": "Packages/User/delete_subword_forward.sublime-macro"} }, 

Source

0

Alt + W trong vim chế độ làm việc cho tôi trong văn bản siêu việt 3 đi qua từ camelCase