跳至内容

键绑定

另请参阅

键绑定参考 : 关于键绑定的完整文档。

键绑定允许您将按键序列映射到命令。

文件格式

键绑定在 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

注意:此示例是一个默认键绑定,因此您可以自己尝试一下。