只复制Preferences.sublime-keymap不行,因其仅声明绑定,不包含命令来源:插件未启用(缺Package Control.sublime-settings)、插件代码目录未迁移、context不匹配、JSON格式错误均会导致快捷键失效。

不能只导出 Preferences.sublime-keymap 文件——单独复制它,迁移后快捷键大概率按了没反应。
为什么只复制 Preferences.sublime-keymap 不行
这个文件只是快捷键的“绑定声明”,不包含它所依赖的命令来源。常见失效原因包括:
-
Package Control.sublime-settings缺失 → 插件根本没启用 → 它注册的命令(比如side_bar_enhancements_delete_file)在 Sublime 启动时就不存在 - 插件源码目录(如
Packages/SideBarEnhancements/)没一起迁移 → 即使 keymap 里写了ctrl+shift+k,也没地方执行 - 自定义 keymap 用了
"context"(比如限定在"key": "selector", "operator": "equal", "operand": "source.python"),但当前视图不匹配,绑定静默失效 - JSON 格式错误:末尾多逗号、用了单引号、写了
//注释 → 整个文件被 Sublime 忽略,且不报错
真正要备份的路径:先确认,再整份拷
别硬记路径,启动 Sublime Text → Preferences → Browse Packages…,弹出窗口的地址就是你该操作的真实位置。常见情况:
- 常规版 Windows:
%APPDATA%\Sublime Text\Packages\User(注意 ST4 路径含空格,不是Sublime Text4) - macOS:
~/Library/Application Support/Sublime Text/Packages/User(终端中空格需转义为Application\ Support) - Linux:
~/.config/sublime-text-4/Packages/User(ST4 是sublime-text-4,不是sublime-text) - 便携版:
Data\Packages\User(大小写敏感,必须是大写D小写ata,且与sublime_text.exe同级)
务必关掉 Sublime 再操作,否则文件可能被锁或写坏。
只备份 User 目录还不够:插件代码也得一起搬
快捷键生效的前提是命令存在,而命令由插件提供。所以除了 Packages/User,你还得复制:
-
Packages/下所有非User的子目录(如Packages/GitGutter/、Packages/EmmyLua/、Packages/Dracula Color Scheme/) - 跳过名字带
~或.tmp的临时文件夹 - 配色方案文件本身(如
Packages/Dracula Color Scheme/Dracula.tmTheme),不能只靠Preferences.sublime-settings里的"color_scheme"路径去猜 -
Installed Packages/可选:里面是.sublime-package缓存,删掉后重启 Sublime 会自动重装已启用插件(前提是Package Control.sublime-settings在User里完好)
备份后验证快捷键是否真能用
迁移到新环境后,别只看 Preferences → Key Bindings 里有没有那条规则。实际验证更可靠:
- 打开一个普通文本文件,试试
ctrl+shift+p(Mac 是cmd+shift+p)能否呼出命令面板 → 失效说明Package Control没加载 - 右键侧边栏文件,看是否有
Delete File等选项 → 没有说明SideBarEnhancements插件目录没复制到位 - 按你自定义的快捷键(如
ctrl+alt+b),同时按ctrl+`打开控制台,看是否报command not found→ 报错即表示命令未注册
最容易被忽略的是:你改过的快捷键可能依赖某个插件的特定版本,或者和系统级快捷键冲突(比如 macOS 的 Spotlight 占用了 cmd+space),这些不会在配置文件里体现,只能靠实测暴露。


















