有没有办法在 Sublime Text 中切换选择?

Is there a way to toggle selection in Sublime Text?

我不喜欢在移动光标时一直按住 shift 键。我正在寻找类似于 emacs 的东西,您可以在其中按 Ctrl+Space,将光标移动到您想要的位置(同时突出显示文本),然后再次按 Ctrl+Space 以完成选择。

我查看了键盘映射文件,但我唯一能找到的就是设置标记。这样做不会在我移动光标时保持文本突出显示,而且它还使用两个不同的键绑定来开始和结束选择。

这可以在 sublime text 中完成吗? 2个还是3个都无所谓

您可以使用上下文并在 ctrl+space 上切换设置,这将导致此键绑定:

{ "keys": ["left"], "command": "move", "args": {"by": "characters", "forward": false, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["right"], "command": "move", "args": {"by": "characters", "forward": true, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["up"], "command": "move", "args": {"by": "lines", "forward": false, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["down"], "command": "move", "args": {"by": "lines", "forward": true, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["alt+left"], "command": "move", "args": {"by": "subwords", "forward": false, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["alt+right"], "command": "move", "args": {"by": "subword_ends", "forward": true, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["pageup"], "command": "move", "args": {"by": "pages", "forward": false, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["pagedown"], "command": "move", "args": {"by": "pages", "forward": true, "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["home"], "command": "move_to", "args": {"to": "bol", "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["end"], "command": "move_to", "args": {"to": "eol", "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["ctrl+home"], "command": "move_to", "args": {"to": "bof", "extend": true}, "context": [{"key": "setting.do_extend"}] },
{ "keys": ["ctrl+end"], "command": "move_to", "args": {"to": "eof", "extend": true}, "context": [{"key": "setting.do_extend"}] },

{ "keys": ["ctrl+space"], "command": "toggle_setting", "args": {"setting": "do_extend"} },