Sublime Text 快捷键配置需导出整个 Packages/User/ 目录,而非仅 Preferences.sublime-keymap 文件;该文件默认不存在,修改用户快捷键后自动生成,路径因系统而异,且必须为合法 JSON、含 keys 和 command 字段、无注释。

Sublime Text 不提供「一键导出快捷键配置」的图形界面功能,所有快捷键配置都以纯文本 JSON 文件形式存在,直接复制对应文件就是最可靠、最彻底的导出方式。
快捷键配置文件在哪?
Sublime Text 的用户级快捷键映射保存在 Preferences.sublime-keymap 文件中,它位于 Sublime 的用户数据目录下。该文件默认不存在——只有当你通过 Preferences → Key Bindings 打开并修改过右侧(User)面板后,Sublime 才会自动创建它。
找到它的路径:
- Windows:
%APPDATA%\Sublime Text\Packages\User\Preferences.sublime-keymap -
macOS:
~/Library/Application Support/Sublime Text/Packages/User/Preferences.sublime-keymap - Linux:
~/.config/sublime-text/Packages/User/Preferences.sublime-keymap
注意:不要混淆 Default (Windows).sublime-keymap 等系统自带只读文件——它们在 Installed Packages/ 或 Default Packages/ 下,不属于你的个性化配置,无需导出。
导出时要不要连带其他配置一起备份?
单独导出 Preferences.sublime-keymap 能还原快捷键,但实际迁移中常遇到「快捷键生效但行为异常」的问题,根源往往不在 keymap 本身,而在依赖项:
-
Package Control.sublime-settings:决定哪些插件被启用,而很多插件自带快捷键(如 SideBarEnhancements、Emmet) -
Preferences.sublime-settings:影响tab_size、translate_tabs_to_spaces等基础行为,某些快捷键(如ctrl+shift+p)触发的命令依赖这些设置 - 插件专属 keymap 文件(如
SideBarEnhancements.sublime-keymap):若你手动为插件添加了自定义绑定,它们也存放在User/目录下,需一并复制
所以真正可靠的「快捷键迁移」,其实是备份整个 Packages/User/ 目录,而非单个文件。
迁移后快捷键不生效?检查这三点
把 Preferences.sublime-keymap 复制过去后仍无效,大概率是 JSON 格式或作用域问题:
- 文件必须是合法 JSON:末尾不能有多余逗号,字符串必须用双引号,注释(
//或/* */)会导致整个文件被忽略——Sublime 不支持 JSON 注释 - 键绑定必须包含
"keys"和"command"字段,缺一不可;若想限定作用域(比如只在编辑器中生效),需正确设置"context",例如:[ { "keys": ["ctrl+alt+o"], "command": "open_file", "context": [ { "key": "setting.is_widget", "operand": false } ] } ] - 多个相同
"keys"绑定时,Sublime 按文件加载顺序覆盖(User > Default),确保没有其他 keymap 文件(包括插件自带的)意外覆盖了你的设置
最易被忽略的是:Sublime 启动时若检测到 Preferences.sublime-keymap 解析失败,会静默跳过该文件,不报错也不提示——你得靠「打开 Key Bindings 面板看右侧是否显示内容」来反向验证文件是否被成功加载。










