preferences → key bindings 是最直接入口,左侧为只读默认键映射,右侧为可编辑用户配置;可用命令面板模糊搜索快捷键;控制台日志可排查失效原因;插件快捷键需查 packages 目录并注意 context 作用域。

Preferences → Key Bindings 是最直接的入口
打开 Sublime Text 后,直接点击菜单栏 Preferences → Key Bindings,就会并排弹出两个文件:左侧是只读的 Default (Windows).sublime-keymap(或对应 macOS/Linux 的版本),右侧是可编辑的 User.sublime-keymap。左侧列出了 Sublime 原生 + 所有已启用插件的全部默认快捷键;右侧是你自定义的地方,所有修改都写在这里。
注意:你不会在左侧看到“空行”或“注释”,它纯 JSON 格式、无说明——但命令名(如 "command": "save")和键组合(如 "keys": ["ctrl+s"])一一对应,足够反向查功能。比如搜 toggle_side_bar 就能定位到侧边栏开关的绑定。
用命令面板模糊搜索功能名,快速反查快捷键
忘了“复制当前行”的快捷键?别翻文件——按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)呼出命令面板,输入 duplicate line,结果里带 ⌨️ 图标的那一行,就显示了当前生效的快捷键(通常是 Ctrl+Shift+D)。
- 输入越具体,匹配越准:试
reindent、sort lines、git blame等命令名 - 如果某命令没显示快捷键,说明它没被任何键绑定(包括插件未生效或被覆盖)
- 输入
key bindings可直接跳转到配置文件,比菜单更快
排查冲突必须开控制台看真实日志
快捷键点了没反应?不是“失效”,而是可能被拦截、覆盖或压根没注册。这时要开控制台:Ctrl+`(反引号),然后依次执行:
sublime.log_input(True) sublime.log_commands(True)
接着按那个有问题的组合键,观察控制台输出:
- 如果
log_input没打印任何内容 → 键没被系统传给 Sublime(可能是输入法、全局快捷键、或键盘硬件问题) - 如果
log_input有记录但log_commands没反应 → 快捷键没绑定到任何命令(配置缺失或拼写错误) - 如果
log_commands显示了别的命令 → 存在冲突,被更高优先级规则劫持了
调试完务必关掉:sublime.log_input(False) 和 sublime.log_commands(False),否则控制台刷屏。
插件快捷键得去 Packages 目录里手动翻
不是所有插件都会把快捷键塞进左侧 Default 文件——尤其更新频繁的插件(如 GitSavvy、Emmet)。它们的 .sublime-keymap 文件藏在插件目录里:
菜单栏点 Preferences → Browse Packages…,进入对应插件文件夹(如 Emmet),找名为 Default (Windows).sublime-keymap 或 Default.sublime-keymap 的文件,用 Sublime 直接打开即可阅读。
注意:这类文件里的 context 字段很关键——它限制快捷键只在特定语法(如 "key": "selector", "operator": "equal", "operand": "source.css")下生效,所以你在 Python 文件里按 CSS 插件的快捷键,自然没反应。
context 严格约束。不看上下文直接改键,八成白忙。










