如何解除Sublime Text 2中的一个键绑定?

我有一个打CTRL + T在ST2打开一个新标签的习惯。 但是,这将调用转置function。 我可以将new_file命令映射到CTRL + T ,但可以通过用户键盘映射文件完全禁用该命令。 我的searchbuild议将此添加到用户键盘映射。

 [ { "keys": ["ctrl+t"], "command": "unbound" } ] 

“不受约束”是否正式通过了禁用捷径的方式?

我从来没有看到或阅读任何有关unbound命令的官方文档,但它的工作原理。 另一个选项是删除command属性。

 { "keys": ["ctrl+t"] } 

这也将解除一个键绑定。

{ "keys": ["ctrl+-"], "command": "noop" }

将键绑定到无操作或任何不会执行命令行为的操作(例如“hello”)应该可以工作。

如果将来改变主意,这也将保持约束力。

其实这篇文章确实帮我解决了在Mac上使用ST3的问题。 使用包资源查看器可以编辑默认的键盘快捷键(默认(OSX).sublime-keymap)并删除不需要的行。 这样做后,ST3将不再捕获您的系统范围的热键。

另外,如果你想撤消一个插件覆盖的快捷方式(我正在看你,“terminal”):

  1. 首选项 – >键绑定(默认)
  2. 复制行(例如{ "keys": ["super+shift+t"], "command": "reopen_last_file" }
  3. 打开首选项 – >键绑定(用户)
  4. 在那里添加行(如果文件是空的,它会在行之前添加[] ,因为它是一个命令数组)

通过创build自定义的默认绑定文件,可以覆盖已安装软件包的默认绑定。

例如,我想ctrl-T转置,所以我修改了CTags的默认绑定:

  • c:\Users\USER\appdata\Roaming\Sublime Text 3\Installed Packages\CTags.CTags.sublime-package tmp.ziptmp.zip
  • 从zip文件中提取Default.sublime-keymapc:\Users\USER\appdata\Roaming\Sublime Text 3\Packages\CTags\
  • 修改或删除此文件的绑定。

如果软件包被更新,自定义的默认绑定文件被保留,所以你的绑定被保留,任何新的绑定都必须手动更新。

path工具包中包含的键绑定可以覆盖我经常使用的默认的Sublime键绑定,特别是: command + shift + V

在Mac上,我可以通过在这里放置一个空白文件覆盖path工具包的所有默认绑定:

 ~/Library/Application Support/Sublime Text 3/Packages/Path Tools/Default (OSX).sublime-keymap 

我希望Sublime软件包安装时警告用户,当一个软件包包含键绑定将覆盖当前或默认的键绑定。