Sublime Text 3 包键绑定与 CTRL-d 和 CTRL-l 冲突

Sublime Text 3 包键绑定与 CTRL-d 和 CTRL-l 冲突

我看到很多关于发现Sublime Text 3 中的键绑定冲突,但不知道如何修复它们。我按照指导这里将包的默认键绑定文件复制到包的用户键绑定文件,并将冲突的键绑定(此处CTRL-dCTRL-l)替换为非冲突的键绑定(此处CTRL-SHIFT-dCTRL-SHIFT-l)。但是,当我在冲突包的文件类型(Stata 的 .do 文件)中使用CTRL-d或时CTRL-l,我得到了冲突的键绑定操作(即不是选择单词或行)。 即使在重新启动 Sublime Text 3 后也是如此。

有办法解决这个冲突吗?或者甚至可以关闭某个包的所有键绑定?

FWIW,这个包是StataEditorStataEditor这是用户密钥绑定文件的更改部分。

[
    { "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 用户顺利过渡。

相关内容