Sublime text word_separator CamelCase

sha*_*bda 28 sublimetext sublimetext2 sublimetext3

崇高的文字word_separator是:

"word_separators": "./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}`~?",
Run Code Online (Sandbox Code Playgroud)

我还想将CamelCase中的案例更改视为变更.有没有设置/方式来做到这一点?

(例如在FooBar中ctrl + bck_space应该只删除Bar).

小智 46

如果有人还在看这个......

在您的默认键绑定中,您将找到:

{ "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} },
Run Code Online (Sandbox Code Playgroud)

使用alt + direction将移动"subwords"而不是"words",这将考虑camelCase.我更喜欢超过默认值,所以我将alt +方向设置复制到我的用户键绑定中,并用ctrl替换alt的实例.Voila,ctrl +方向由camelCase以及定义的单词分隔符移动.

此外,我不确定使用子词设置是否会考虑下划线,我总是将_添加到单词分隔符以确保.

  • 作为旁注:此设置似乎仅适用于Windows.在Mac上,"Alt + Left"是"按字移动"的系统默认值 - 我必须在用户定义的键绑定首选项中手动将"Super + Left"映射到"按子词移动" (2认同)

nic*_*715 5

使用 alt 仅适用于移动,不适用于删除,但我发现一些效果很好:

向前删除(alt+delete):

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

   },
   {
      "args": null,
      "command": "left_delete"
   }
]
Run Code Online (Sandbox Code Playgroud)

向后删除(alt+backspace)

delete_subword_forward.sublime-macro:
[
   {
      "command": "move",
      "args": {
         "by": "subwords",
         "extend": true,
         "forward": true
      }
   },
   {
      "args": null,
      "command": "right_delete"
   }
]
Run Code Online (Sandbox Code Playgroud)

将其保存到您的用户目录中。现在,您可以像这样绑定键:

{ "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"} },
Run Code Online (Sandbox Code Playgroud)

来源


Kay*_*Kay 4

我认为这只能通过插件来完成,而不仅仅是通过更改 Sublime Text 的设置来完成。

这个插件看起来很有前途: https:
//github.com/jdc0589/CaseConversion