Preferences.sublime-settings是覆盖Sublime默认配置的唯一用户设置文件,需通过Ctrl+,(Win/Linux)或Cmd+,(macOS)打开编辑,保存即生效;插件配置须单独写入对应插件名.sublime-settings文件,快捷键和鼠标绑定则分别使用User.sublime-keymap和Default.sublime-mousemap。

Preferences.sublime-settings 就是你要改的文件,不是“通过 JSON 修改默认配置”,而是直接编辑这个 JSON 文件来覆盖默认行为。Sublime 的配置机制是「右侧用户设置覆盖左侧默认设置」,所有修改都写在这里,其他地方改了也没用。
Preferences.sublime-settings 文件在哪,怎么打开最稳
别手动翻路径——按 Ctrl+,(Windows/Linux)或 Cmd+,(macOS),右侧打开的就是 Preferences.sublime-settings。它本质是 JSON,保存后立即生效,不用重启。
- Windows 路径:
C:\Users\用户名\AppData\Roaming\Sublime Text\Packages\User\Preferences.sublime-settings - macOS 路径:
~/Library/Application Support/Sublime Text/Packages/User/Preferences.sublime-settings - Linux 路径:
~/.config/sublime-text/Packages/User/Preferences.sublime-settings
误删?关掉再开 Sublime,它会自动生成一个空的 Preferences.sublime-settings,不会崩。
写错 JSON 为什么没报错却无效
Sublime 对 JSON 错误是静默失效:少个引号、多逗号、用了注释 // 或 /* */,它就当那行不存在,其余配置照常加载——你调不出效果,但控制台也不报错。
-
"translate_tabs_to_spaces": true是对的;"translate_tabs_to_spaces": "true"(字符串)就失效 -
"font_face": "Fira Code"必须和系统字体名完全一致,大小写敏感;"fira code"或"FiraCode"都不生效 -
"ensure_newline_at_eof_on_save": true确保末尾换行,但某些 shell 脚本头(如#!/bin/bash)若被强制加换行,可能破坏执行权限
插件配置不能写在 Preferences → Settings 里
菜单栏 Preferences → Settings 打开的是全局编辑器设置,插件配置必须单独写进 Packages/User/插件名.sublime-settings 文件才生效。
- 比如
HTML-CSS-JS Prettify插件,要改它的行为,得编辑Packages/User/HTML-CSS-JS Prettify.sublime-settings,不是改Preferences.sublime-settings - 插件名含空格或连字符(如
SideBarEnhancements、HTML-CSS-JS Prettify),文件名就照原样,不转下划线 - 不确定文件名?打开
Preferences → Package Settings → [插件名] → Settings,看菜单项名字,去掉 “Settings” 后缀就是文件名
Keymap 和鼠标键绑定也得走 JSON,但格式不同
快捷键不是改 Preferences.sublime-settings,而是写进 User.sublime-keymap,它是个 JSON 数组,每条规则是对象,必须包在 [ ] 里:
[{"keys": ["ctrl+alt+d"], "command": "duplicate_line"}]
- command 名必须实测获取:按
Ctrl+Shift+P搜功能名,看到的完整条目才是真实 command(比如run_macro_file,不是delete_line) - 覆盖
Ctrl+S或Ctrl+D前先想清楚——这些是底层操作链,改了就断,不是增强而是自废 - 鼠标键绑定要另建
Default.sublime-mousemap,不能塞进 keymap 文件
真正容易被忽略的是:JSON 格式错误不会提示,只静默跳过;插件配置和编辑器配置根本不在同一个文件里;而 Preferences → Settings 界面左侧永远只读——你盯着它改半天,关掉就没了。











