如何解除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”):
- 在首选项 – >键绑定(默认)
- 复制行(例如
{ "keys": ["super+shift+t"], "command": "reopen_last_file" }
) - 打开首选项 – >键绑定(用户)
- 在那里添加行(如果文件是空的,它会在行之前添加
[
和]
,因为它是一个命令数组)
通过创build自定义的默认绑定文件,可以覆盖已安装软件包的默认绑定。
例如,我想ctrl-T转置,所以我修改了CTags的默认绑定:
- 将
c:\Users\USER\appdata\Roaming\Sublime Text 3\Installed Packages\CTags.CTags.sublime-package
tmp.zip
到tmp.zip
- 从zip文件中提取
Default.sublime-keymap
到c:\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软件包安装时警告用户,当一个软件包包含键绑定将覆盖当前或默认的键绑定。