键绑定
另请参阅
键绑定参考 : 关于键绑定的完整文档。
键绑定允许您将按键序列映射到命令。
文件格式
键绑定在 JSON 中定义,并存储在 .sublime-keymap
文件中。
在同一个包中,可能存在针对 Linux、OSX 和 Windows 的单独键映射文件,以实现更好的操作系统集成。
示例
json
[
{ "keys": ["ctrl+shift+n"], "command": "new_window" },
{ "keys": ["ctrl+o"], "command": "prompt_open_file" }
]
定义和覆盖键绑定
Sublime Text 附带默认键绑定(例如,Packages/Default/Default (Windows).sublime-keymap)
。为了覆盖默认键绑定或添加新的键绑定,请使用具有更高优先级的单独键映射文件:例如,Packages/User/Default (Windows).sublime-keymap
。
高级键绑定
简单的键绑定由一个或多个键的序列组成,这些序列映射到一个命令。但是,还存在更复杂的语法,用于将参数传递给命令并将键绑定限制在特定上下文中。
传递参数
使用 args
键指定参数
json
{ "keys": ["shift+enter"], "command": "insert", "args": {"characters": "\n"} }
在这里,\n
在按下 ⇧ ⏎ 时传递给 insert
命令。
上下文
上下文根据光标的位置或其他状态来确定是否启用给定的键绑定。
json
{ "keys": ["escape"], "command": "clear_fields", "context":
[
{ "key": "has_next_field", "operator": "equal", "operand": true }
]
}
此键绑定转换为如果存在下一个代码片段字段,则清除代码片段字段并恢复正常编辑。因此,按下 Esc 仅在您循环遍历代码片段字段时才会触发此键绑定。
同一个键绑定可以映射到多个上下文,因此同一个按键序列在不同时间可能会产生不同的结果。
键组合
您可以创建由多个键组成的键绑定。
json
{ "keys": ["ctrl+k", "ctrl+v"], "command": "paste_from_history" }
在这里,要触发 paste_from_history
命令,您必须先按下 Ctrl K,然后释放 K,最后按下 V。
注意:此示例是一个默认键绑定,因此您可以自己尝试一下。