只需同步 User.sublime-keymap 文件即可生效,它独立于其他设置,要求是合法 JSON 数组,必须用英文双引号、无注释、无末尾逗号,跨平台兼容,避免权限或换行符问题。

只同步 User.sublime-keymap 文件就能生效
快捷键配置完全独立于其他设置,只依赖 Packages/User/User.sublime-keymap 这一个文件。它不读取默认键位、不依赖插件状态、也不受 Preferences.sublime-settings 影响。只要这个文件存在且 JSON 合法,Sublime 启动时就会加载它。
User.sublime-keymap 必须是合法 JSON 数组
常见错误是把它当普通文本编辑:漏掉方括号、多加逗号、用中文引号、或写成对象而非数组。Sublime 不报错,只是静默忽略整个文件。
- 正确开头和结尾必须是
[ ],哪怕只有一条规则 - 每条规则是对象,用英文双引号包裹所有 key 和 string 值
- 保存后右下角弹红字?立刻检查末尾逗号、引号配对、括号嵌套
- 别复制网上带注释的示例——JSON 不支持
//或/* */
别碰 Default 或插件自带的 .sublime-keymap
左侧打开的 Default (Windows).sublime-keymap 是只读的,升级会被覆盖;插件自带的键位文件(如 Emmet.sublime-keymap)只负责提供基础绑定,用户覆盖必须走 User.sublime-keymap。
- 所有自定义都写在 Preferences → Key Bindings 右侧那个空文件里
- 想禁用某个默认快捷键?加一条相同
keys但command设为"noop" - 不同系统要分别同步
Default (Windows).sublime-keymap或Default (OSX).sublime-keymap?不用——User.sublime-keymap自动跨平台生效
同步时最容易被忽略的细节
很多人把整个 Packages/ 目录拖进云盘,结果下次启动发现快捷键全失效。问题不在文件本身,而在同步过程破坏了文件权限或换行符(尤其是 Windows ↔ macOS 之间 CRLF/LF 混用),导致 JSON 解析失败。
- 只同步
Packages/User/User.sublime-keymap单个文件最稳 - 如果用符号链接方式同步(比如 Dropbox +
ln -s),务必确认链接目标路径真实存在且可读 - 改完快捷键没反应?先按
Ctrl+`打开控制台,输入sublime.log_commands(True),再手动触发一次目标操作,看输出的command名是否和你写的完全一致











