Cmd+Shift+P在macOS上无效是因Spotlight或中文输入法抢占快捷键,需关闭系统设置中的相关快捷键或改用Ctrl+Shift+P绑定命令面板。

Cmd+Shift+P 在 macOS 上唤不出命令面板?先查 Spotlight 和输入法
这不是 Sublime 的问题,而是 macOS 系统级快捷键抢占了信号。Cmd+Shift+P 默认被 Spotlight 占用,且搜狗、百度等中文输入法常把 Cmd+Space 或 Cmd+Shift+P 当作中英文切换入口——Sublime 根本收不到按键事件。
验证方式:Ctrl+` 打开控制台,输入 sublime.log_input(True) 回车,再按 Cmd+Shift+P。若控制台无任何输出,说明按键被系统或输入法截断。
- 去「系统设置 → 键盘 → 快捷键 → Spotlight」,关闭
Cmd+Space(它常连带影响同前缀组合) - 进入「输入源」,禁用或重设
选择上一个输入法对应的快捷键(通常是Cmd+Space或Cmd+Shift+P) - 临时切到系统自带「简体中文-拼音」测试;若恢复,则锁定是第三方输入法问题
- 不推荐禁用 Spotlight,改 Sublime 绑定更稳妥:在
Key Bindings – User中添加:[{"keys": ["ctrl+shift+p"], "command": "show_overlay", "args": {"overlay": "command_palette"}}]
Ctrl+/ 注释失效?别急着改 Key Bindings,先看谁最后定义了它
汉化插件 ChineseLocalization 本身不改快捷键,但 Vintage、Emmet 这类高优先级插件会在自己的 Default.sublime-keymap 里覆盖 ctrl+/,你的 User 配置根本没机会执行。
排查路径很直接:按 Ctrl+Shift+P 输入 Preferences: Key Bindings,左右并排打开 Default 和 User 文件。
- 在左侧 Default 中搜索
"ctrl+/",确认原命令是toggle_comment - 在右侧 User 和所有插件目录(
Packages/Vintage/、Packages/Emmet/等)中全局搜索"ctrl+/" - 若发现某插件的
Default.sublime-keymap里有该绑定,且加载顺序在 User 之后,你的自定义就无效 - 临时验证:命令行运行
subl --safe-mode,若注释恢复,说明是插件干扰
User.sublime-keymap 写错一个标点就等于没写
这个文件是纯 JSON 数组,不是配置文件也不是 JS 对象。语法错一点,Sublime 就静默忽略整份配置——右下角红字错误提示一闪而过,极易错过。
必须严格遵守这些规则:
- 所有键名和字符串值必须用英文双引号包裹,
"keys"不是keys,"toggle_comment"不是toggle_comments - 数组结尾不能多逗号:
["ctrl+alt+f"],是错的,["ctrl+alt+f"]才对 - 不支持
//或/* */注释;想临时禁用某条绑定,删整行,或改成"command": "not_a_real_command" - 保存后立即生效,无需重启,但前提是没其他插件在更靠后位置又绑了一次
Esc 关不掉命令面板?别往 Key Bindings 里加 escape 绑定
Esc 关闭搜索框、命令面板、替换栏,是 Sublime 内核硬编码行为,完全不走任何 .sublime-keymap 流程。你在 User.sublime-keymap 里加 {"keys": ["escape"], "command": "hide_panel"} 不仅无效,还会破坏原生逻辑——比如按 Esc 后面板卡住不隐藏。
如果 Esc 失效,真正要查的是:
- 是否启用了
Vintage插件?进Preferences → Package Settings → Vintage → Settings,设"exit_insert_mode_on_escape": false - 是否装了
Origami?关掉它的close_on_escape选项 - 运行
subl --safe-mode测试:若恢复,说明是插件劫持;若仍无效,且sublime.log_input(True)无输出,则问题在 macOS 键盘设置(如未勾选「使用 F1、F2 等键作为标准功能键」)或键盘固件层
真正麻烦的从来不是怎么改,而是哪一层在拦截——系统、输入法、显卡驱动、插件、内核,每一层都可能无声吞掉按键。漏掉 sublime.log_input(True) 这一步,后面所有修改都是在猜。


















