在Sublime Text 3中仅选择白色字符

时间:2014-11-17 13:37:39

标签: sublimetext sublimetext3 textselection

目前,按 Ctrl + Shift + 右箭头 Ctrl + Shift < / kbd> + 左箭头,Sublime Text 3将从当前位置选择所有空格(所有白色字符),直到下一个单词包括这个单词。

有没有办法(可能是的)修改ST3的配置文件或密钥绑定文件以强制它只选择空格(白色字符),所以排除下一个字?我对默认行为感到很不舒服。

1 个答案:

答案 0 :(得分:3)

默认情况下,这些快捷方式的定义如下:

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

重要的部分是by参数。以上基本上意味着前向选择应该选择单词结尾(空白+下一个单词),向后选择应该选择单词开始(白色空格+前一个单词的开头)。

现在,为了获得您想要的结果,您可以将前向选择中的依据切换为words,将后向选择切换为word_ends。这样,如果你进行前向选择,将只选择空格直到下一个单词的开头,而在向后选择的情况下,将选择直到前一个单词结尾的空格。

要像这样自定义,请将以下内容放在 Preferences / Keybindings - user 中以覆盖默认值。

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

试试并在评论中告诉我这是否适合你:)