Ctrl+,是打开用户设置的唯一快捷键;按此键可直接编辑Preferences.sublime-settings右侧用户配置,支持实时生效,无需重启或reload,避免手动路径导致JSON解析错误。

Ctrl+, 是打开用户设置的唯一快捷键
想改字体大小、行高、主题或语法高亮,直接按 Ctrl+,(Windows/Linux)或 Cmd+,(macOS),右侧弹出的就是可编辑的 Preferences.sublime-settings。别去文件管理器里手动找路径,%APPDATA%\Sublime Text\Packages\User\Preferences.sublime-settings 这类路径容易误用 GBK 编码或中文标点,导致 JSON 解析失败——右下角只闪红字,不报具体哪一行错。
左侧是只读的 Default 设置,升级后会被覆盖;右侧才是你该填内容的地方。首次打开时右侧是空对象 {},直接加键值对就行,比如:
{"font_size": 14, "tab_size": 2, "highlight_line": true}
保存即生效,不用重启,也不需要 reload。
Preferences: Key Bindings 打开的是两个并排文件
按 Ctrl+Shift+P 输入 Preferences: Key Bindings 回车,会同时打开两个文件:左边是只读的 Default.sublime-keymap,右边是你要编辑的 User.sublime-keymap。所有自定义快捷键必须写在右侧,且必须是合法 JSON 数组格式,哪怕只加一条规则也要用方括号包住:
[{"keys": ["ctrl+alt+s"], "command": "save"}]
常见错误:
-
command名写错(如"delete_line")→ 静默失效,不提示也不报错 - 用中文引号或全角逗号 → 右下角红字,但无定位
- 把规则写进左侧文件或别的路径 → 完全无效
命令名必须实测获取,不能靠搜或猜
网上查到的 js_format、duplicate_line 等命令名大概率已过时。Sublime 不校验 command 字段,写错就当没这回事。真实可用的命令名得自己抓:
- 按
Ctrl+Shift+P,输入功能关键词(如 “delete line”),看到的完整条目就是当前可用命令名 - 或按
Ctrl+`打开控制台,执行sublime.log_commands(True),再手动点一次菜单操作(如 Edit → Line → Delete Line),控制台会输出类似:command: run_macro_file {"file": "res://Packages/Default/Delete Line.sublime-macro"}
这时候你应该用 "run_macro_file",而不是 "delete_line"。
覆盖高频键前先确认是否真要禁用原功能
把 Ctrl+D 改成 duplicate_line,原生“选中相同词”就彻底没了。Sublime 不提供“保留原键+新增键”的快捷切换机制,覆盖即替换。
另外注意 context 限制:有些命令(如 save)默认只在有文件打开时生效;若想在新建未命名标签页也触发,需显式加 "context" 规则,否则按了没反应还找不到原因。
最易被忽略的一点:修改 User.sublime-keymap 后,如果某条快捷键突然失灵,优先检查是否和其他插件注册的快捷键冲突——比如多个插件都绑了 Ctrl+Shift+P,后加载的会覆盖前一个,但 Sublime 不提示。


















