现在为了在SublimeText3中执行多光标编辑,我按Ctrl
并单击我要编辑的位置。
我想更改此设置,所以我按Alt
(而不是'Ctrl'),然后单击我要编辑的位置。
我觉得它应该在Preferences
-> Key Bindings
中的某个位置,但是我找不到该选项。
如何更改此键绑定?
答案 0 :(得分:0)
由于这里的绑定是针对鼠标按钮而非键盘键的,因此实际的绑定不存储在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}
},
第一个绑定表示,在按下button1
键的同时单击鼠标左键(ctrl
)时,应使用以下参数执行drag_select
命令:表示选择应为added
。
类似地,第二个绑定使用alt
而不是ctrl
并执行相同的命令,从选择内容中将其告知subtract
而不是添加到其中。
因此, Ctrl +左键将一个插入符号(以及您拖到的任何文本)添加到选择中,而 Alt +左键单击进行相反操作并删除插入符号和文本你拖过去。
要实现所需的更改,请创建一个包含以下内容的文件,并将其另存为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
的绑定将仍然存在,这意味着您将具有两个用于添加选择的绑定而没有用于删除选择的绑定。取决于您对特定绑定的依赖程度,这可能会或可能不会引起关注。