直接清空user.sublime-keymap为合法json数组[]可恢复默认快捷键;若仍失效,需检查packages/user下其他插件生成的.sublime-keymap文件或启用--safe-mode诊断。

直接删掉或清空 User.sublime-keymap 文件,就能恢复出厂快捷键——但必须保证它是合法 JSON 数组 [],且不能残留任何语法错误;否则 Sublime 会静默忽略整个文件,你改了也白改。
为什么 Ctrl+D、Ctrl+S 突然不生效?先确认是不是 User.sublime-keymap 搞的鬼
Sublime 的快捷键加载顺序是:内置默认键位 → 插件自带 keymap → User.sublime-keymap。最后这个文件优先级最高,哪怕只写错一个逗号,它就整个失效,但 Sublime 不报错,只是悄悄回退到“没覆盖前的状态”——你以为是默认键位坏了,其实是它根本没加载你的配置,也没加载默认的(因为被格式错误阻断了)。
- 打开
Preferences → Key Bindings,右侧就是User.sublime-keymap - 全选内容 → 删除 → 确保只剩一对方括号:
[] - 保存(
Ctrl+S或Cmd+S),不用重启,立刻生效 - 如果保存后右下角弹红字提示“invalid json”,说明你漏了
[]、多了逗号、用了中文引号,重来
--safe-mode 启动是判断问题根源的最快方式
安全模式跳过所有用户目录下的 keymap(包括插件生成的 Emmet.sublime-keymap、Package Control.sublime-keymap 等),只加载 Sublime 自带的默认键位。它不是修复手段,而是诊断开关。
- 先彻底关掉 Sublime:Windows 用任务管理器杀掉
sublime_text.exe和subl.exe;macOS 用活动监视器强制退出;Linux 运行pkill -f "sublime_text" - 终端执行:
subl --safe-mode(macOS/Linux)或subl.exe --safe-mode(Windows) - 进安全模式后测试
Ctrl+D、Ctrl+Shift+P—— 若正常,说明问题一定出在Packages/User/下某个 .sublime-keymap 文件里 - 此时回到普通模式,再按上一节方法清空
User.sublime-keymap;若还不行,就得去Packages/User/目录里手动删掉其他插件生成的 keymap 文件
别只盯着 User.sublime-keymap,插件也能偷偷改快捷键
很多插件(比如 Emmet、Vintageous、SideBarEnhancements)会在安装时自动往 Packages/User/ 目录下写自己的 .sublime-keymap 文件。它们不经过你同意,也不显示在 Preferences → Key Bindings 界面里,但参与键位匹配,而且优先级高于内置默认值。
- 路径定位:
Packages/User/(可通过Preferences → Browse Packages…快速打开) - 里面除了
User.sublime-keymap,还可能有:Emmet.sublime-keymap、Vintageous.sublime-keymap、SideBarEnhancements.sublime-keymap等 - 这些文件只要存在,就会被加载;哪怕你清空了主文件,它们仍可能覆盖
Ctrl+Shift+P或Tab行为 - 临时排查:把整个
Packages/User/重命名为User.bak,重启 Sublime —— 如果快捷键恢复正常,就逐个把 .sublime-keymap 文件移回来,定位冲突源
真正“出厂级”重置:删整个 Data 目录,但代价不小
只有删对整个用户数据根目录,才能让 Sublime 启动时从零生成全部默认配置——包括快捷键、插件状态、主题、上次打开的标签页等。但这不是“重置快捷键”,而是“重装编辑器”。容易被忽略的关键点是:
- Windows 正确路径是:
%APPDATA%\Sublime Text 4(注意带空格、带版本号,不是SublimeText4或Sublime Text 4\Packages\User) - macOS 是:
~/Library/Application Support/Sublime Text(Sublime Text 4 安装后目录名仍叫Sublime Text,不带版本号) - Linux 是:
~/.config/sublime-text-4(短横线,全小写,不是下划线) - 删之前必须确保后台进程已结束,否则它会在你删除过程中把内存里的旧设置刷回磁盘,导致“删了又回来”
- 如果你开了 Sublime Sync,还得先执行
subl --sync-logout,否则账号同步会立刻拉回旧配置
最常被卡住的地方,不是不会操作,而是路径错一位、进程没杀净、或者以为删了 Packages/User 就等于重置——其实那只是冰山一角。











