【发布时间】:2019-06-03 05:03:54
【问题描述】:
现在为了在 SublimeText3 中执行多光标编辑,我按 Ctrl 并单击我要编辑的位置。
我想更改此设置,因此我按Alt(而不是“Ctrl”),然后单击我要编辑的位置。
我觉得它应该在 Preferences -> Key Bindings 的某个地方,但我找不到选项。
如何更改此键绑定?
【问题讨论】:
标签: sublimetext3 keyboard-shortcuts
现在为了在 SublimeText3 中执行多光标编辑,我按 Ctrl 并单击我要编辑的位置。
我想更改此设置,因此我按Alt(而不是“Ctrl”),然后单击我要编辑的位置。
我觉得它应该在 Preferences -> Key Bindings 的某个地方,但我找不到选项。
如何更改此键绑定?
【问题讨论】:
标签: sublimetext3 keyboard-shortcuts
由于此处的绑定是针对鼠标按钮而非键盘按键的,因此实际绑定不会存储在sublime-keymap 文件中,而是存储在sublime-mousemap 文件中。这是一种类似于sublime-keymap 文件的格式,但它包括将命令映射到鼠标按钮、点击次数和修饰键的能力。
注意:与键绑定不同,它不可能包含
context键,因此鼠标绑定是全有或全无的事情;例如,您不能将某些设置为仅适用于某些情况而不适用于其他情况。
为了修改鼠标绑定,您需要遵循与键绑定相同的一般程序,即在包含修改后的绑定的User 包中创建一个具有适当名称的文件。没有任何默认菜单项或命令选项板条目可让您编辑鼠标映射,因此您需要手动执行此操作。
注意:在以下文件名中,
$PLATFORM是Windows、OSX或Linux之一,具体取决于您使用的平台(大小写很重要)。你的问题没有提到你在哪个平台上,所以下面的说明假设Windows;根据需要更改平台以供您自己使用。在 OSX 上,您的绑定可以包含super来表示command键,就像在键绑定中一样。
键绑定文件的名称是Default ($PLATFORM).sublime-keymap,鼠标绑定的适当文件是Default ($PLATFORM).sublime-mousemap。此外,与大多数设置默认行为的资源文件一样,基本文件存储在 Default 包中。
如果您使用View Package File 命令面板条目打开Default/Default (Windows).sublime-mousemap,您可以看到所有默认的鼠标绑定。您可能特别想在这里使用两个绑定,它们位于“基本拖动选择”部分的文件顶部附近:
{
"button": "button1", "count": 1, "modifiers": ["ctrl"],
"press_command": "drag_select",
"press_args": {"additive": true}
},
{
"button": "button1", "count": 1, "modifiers": ["alt"],
"press_command": "drag_select",
"press_args": {"subtractive": true}
},
第一个绑定说当按下ctrl 键的同时单击鼠标左键(button1) 时,应该执行drag_select 命令,并带有一个指示选择应该是@ 的参数987654342@到。
同样,第二个绑定使用alt 而不是ctrl 并执行相同的命令,告诉它从选择而不是添加到subtract。
因此,Ctrl+Left Click 将插入符号(以及您拖过的任何文本)添加到选择中,而 Alt+Left 单击 则相反并删除插入符号和文本你拖过去。
要实现您想要的更改,请创建一个包含以下内容的文件并将其保存为 Default (Windows).sublime-mousemap 在您的 User 包中(您可以使用 Preferences > Browse Packages 找到它的位置)。
注意:如果这样的文件已经存在,将这里的两个绑定添加到现有文件中,而不是保存在它上面;在这种情况下,不要包含
[和]字符,但请确保将绑定与其他绑定一起粘贴到现有文件中的绑定之间。
[
{
"button": "button1", "count": 1, "modifiers": ["alt"],
"press_command": "drag_select",
"press_args": {"additive": true}
},
{
"button": "button1", "count": 1, "modifiers": ["ctrl"],
"press_command": "drag_select",
"press_args": {"subtractive": true}
},
]
这是上面的两个绑定,但是交换了修饰符。这使得 Alt 键添加选择和 Ctrl 删除选择,有效地反转他们的行动。
如果您愿意,只需添加alt 的绑定即可。但是,如果您这样做,ctrl 的绑定仍然存在,这意味着您将有两个用于添加选择的绑定,而没有用于删除选择的绑定。这可能会或可能不会受到关注,具体取决于您对该特定绑定的依赖程度。
【讨论】: