我看到很多关于发现Sublime Text 3 中的键绑定冲突,但不知道如何修复它们。我按照指导这里将包的默认键绑定文件复制到包的用户键绑定文件,并将冲突的键绑定(此处CTRL-d
和CTRL-l
)替换为非冲突的键绑定(此处CTRL-SHIFT-d
和CTRL-SHIFT-l
)。但是,当我在冲突包的文件类型(Stata 的 .do 文件)中使用CTRL-d
或时CTRL-l
,我得到了冲突的键绑定操作(即不是选择单词或行)。 即使在重新启动 Sublime Text 3 后也是如此。
有办法解决这个冲突吗?或者甚至可以关闭某个包的所有键绑定?
FWIW,这个包是StataEditor
StataEditor
这是用户密钥绑定文件的更改部分。
[
{ "keys": ["ctrl+shift+d"], "command": "stata_execute", "args": {"Mode": "do"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.stata" }
]
},
{ "keys": ["ctrl+shift+r"], "command": "stata_execute", "args": {"Mode": "run"}, "context":
[
{ "key": "selector", "operator": "equal", "operand": "source.stata" }
]
},
答案1
我认为可以暂时解决问题的一种方法是安装 PackageResourceViewer 包,该包可从 Package Control 获得。然后,您可以编辑 StataEditor 默认文件。但是,缺点是,我相信当 StataEditor 更新时,此更改将被覆盖。另一种方法是更改用户设置,如您上面所做的那样,但也包括默认使用 ctrl + d 和 ctrl + l。
{ "keys": ["ctrl+l"], "command": "expand_selection", "args": {"to": "line"} },
{ "keys": ["ctrl+d"], "command": "find_under_expand" },
{ "keys": ["ctrl+k", "ctrl+d"], "command": "find_under_expand_skip" },
您可以在此处阅读有关该问题的更多信息(尽管 SO 链接可能对 ST3 无效):
http://www.sublimetext.com/forum/viewtopic.php?f=3&t=13303 https://stackoverflow.com/questions/19245837/how-to-unbind-a-key-binding-in-sublime-text-2
作为该软件包的作者,我同意 ctrl + l 是一个糟糕的快捷键选择。我当时主要是为了自己的方便,但我可能会在另一次更新中更改它。我很可能会保留 ctrl + d,因为我想让习惯于默认编辑器的 Stata 用户顺利过渡。