应直接修改user/preferences.sublime-settings文件,而非default文件,因default只读且升级后会被覆盖;settings→settings菜单打开右侧user面板编辑,确保json格式正确,所有自定义设置(如font_size、color_scheme等)必须在此生效。

直接改 User/Preferences.sublime-settings,别碰 Default 文件 —— 否则升级后配置全丢,且修改无效。
Settings-User 文件在哪、怎么打开
它不是隐藏文件,但路径容易错:Windows 是 %APPDATA%\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。最稳的方式是菜单栏点 Preferences → Settings,右侧就是 User 面板,左侧是 Default(只读参考)。
常见错误现象:在左侧 Default 面板里改 "font_size": 14,保存后字体没变 —— 因为 Default 的值被平台专属文件(如 Preferences (Linux).sublime-settings)覆盖了,根本轮不到你改的那行生效。
- 所有自定义必须写在右侧 User 面板,格式严格是 JSON(逗号不能多也不能少,引号必须是英文双引号)
- 改完不用重启,Sublime 会实时重载
- 如果改完没反应,先检查右下角有没有红色 JSON 错误提示
哪些设置必须放 User 里才有效
像 font_face、font_size、color_scheme、word_separators 这类外观和行为控制项,虽然 Default 文件里有示例,但实际起效靠的是 User 文件里的同名键。平台专属文件(如 Preferences (Windows).sublime-settings)会优先覆盖 Default,而 User 又会覆盖平台专属文件 —— 这是 Sublime 的设置叠加逻辑。
例如想让双击选词时把下划线 _ 当作分隔符(默认不包含),就得在 User 里显式写:
{
"word_separators": "./()\"'`-:,.;~!@#$%^&*|+=[]{}`~?"
}
注意:原 Default 值末尾缺了 _ 和 /,直接复制粘贴会保留问题;必须完整重写整串,不能只追加。
-
color_scheme路径要带完整包名,比如"Packages/Dracula Color Scheme/Dracula.tmTheme",错一个字母就回退到默认主题 -
font_options是数组,启用抗锯齿要写成["subpixel_antialias"],空数组[]表示用系统默认 -
tab_size和translate_tabs_to_spaces改了只影响新文件,已打开的文件需手动执行Convert Indentation to Spaces
语法专属设置(Syntax Specific)怎么用
比如 Python 文件想用 4 空格缩进,但 JS 文件用 2 空格 —— 这不能全写在 User 里,得用 Syntax Specific 设置。操作路径:Preferences → Settings – Syntax Specific,此时打开的是当前文件类型对应的 Python.sublime-settings 或 JavaScript.sublime-settings。
这类文件本质也是 JSON,但只对当前语言生效。关键点在于:它会继承 User 设置,再叠加自己定义的字段。比如 User 里设了 "font_size": 13,Python 文件里设 "font_size": 14,那么只有 .py 文件字号变大。
- 文件名固定为
{Language}.sublime-settings,大小写敏感(javascript不生效,必须是JavaScript) - 路径都在
Packages/User/下,和Preferences.sublime-settings平级 - 不要在里面重复写 User 已有的通用设置(如
color_scheme),除非真需要 per-language 主题
容易被忽略的兼容性坑
Sublime Text 3 和 4 的 color_scheme 格式不完全兼容:ST3 用 .tmTheme,ST4 默认用 .sublime-color-scheme(JSON 格式)。如果你从旧版本迁移,直接复制 ST3 的主题路径到 ST4,会黑屏或报错 Unable to open <theme-name></theme-name>。
另一个隐形问题:某些插件(比如 BracketHighlighter)会在 User 设置里注入自己的配置块。如果手动编辑时删掉了插件相关的 key,可能导致功能失效,且不会报错 —— 表现为括号高亮突然不工作,但查日志也看不到异常。
- 升级前备份整个
Packages/User/目录,比单个文件更安全 - 用 Git 管理
User/目录,能快速回退到可用状态 - 插件配置建议单独建
Package Control.sublime-settings文件,避免和编辑器核心设置混在一起
真正麻烦的从来不是写几行 JSON,而是搞清哪一层设置在哪个时刻生效、被谁覆盖。User 文件是唯一可控出口,其余都是干扰项。











