sublime text用户配置文件是preferences.sublime-settings,位于系统user包目录下:windows为c:\users\用户名\appdata\roaming\sublime text\packages\user,macos为~/library/application support/sublime text/packages/user,linux为~/.config/sublime-text/packages/user;推荐用ctrl+,(或cmd+,)直接打开用户设置面板编辑,修改后自动保存并实时生效。

用户配置文件在哪,直接打开最省事
Sublime Text 的用户全局配置就是 Preferences.sublime-settings,它本质是 JSON 格式的 settings.json,所有你改过的编辑器行为(缩进、字体、保存逻辑等)都写在这里。它不在安装目录里,也不在项目里,而是在系统级的 User 包目录下:
- Windows:
C:\Users\用户名\AppData\Roaming\Sublime Text\Packages\User - macOS:
~/Library/Application Support/Sublime Text/Packages/User - Linux:
~/.config/sublime-text/Packages/User
别手动找路径——按 Ctrl+,(Windows/Linux)或 Cmd+,(macOS),右侧打开的就是用户设置面板,背后就是这个文件。改完自动保存,实时生效。误删?直接关掉再开,Sublime 会重建一个空的 Preferences.sublime-settings,不会崩。
为什么不能直接改左侧默认设置
左侧显示的是 Sublime 自带的默认配置(Packages/Default/Preferences.sublime-settings),它是只读的。你往左边写东西,重启后就没了——因为每次启动都会重载默认值,覆盖你的修改。
右侧用户设置才是真正的覆盖层:它用相同 key 覆盖默认值,其余保持不变。比如你只加了 "tab_size": 2,那 "font_face"、"color_scheme" 这些仍走默认逻辑。这也是为什么推荐「只在右侧写差异项」,而不是复制整个默认配置过去。
常见配置项怎么写才不翻车
JSON 语法看着简单,但实际写错一个逗号、少个引号,Sublime 就静默失效(不报错,但设置不生效)。几个高频踩坑点:
-
"translate_tabs_to_spaces"是布尔值,必须写true或false,不能写"true"(字符串) -
"font_face"值要和系统已安装字体名完全一致,大小写敏感,比如"Fira Code"不是"fira code",macOS 上还可能带版本后缀如"FiraCode Nerd Font" -
"ensure_newline_at_eof_on_save"默认是false,设为true才能自动补末尾换行;但若文件本身是二进制或无换行结尾的特殊格式(如某些 shell 脚本头),可能引发执行异常 - 注释(
//或/* */)在 JSON 中非法,Sublime 会忽略整行甚至导致后续配置失效,真要备注得用英文字段名自解释,比如"// tab_size: use 2 for JS, 4 for Python"是无效的
settings.json 和其他配置文件的关系
全局 settings.json 管不到所有事。它只负责编辑器层面的基础行为,语言相关、项目相关、插件相关的配置另有归属:
- 语言专属设置(如 Python 缩进强制为 4):单独建
Python.sublime-settings放在User目录,scope 限定生效范围 - 项目级覆盖(如某个 Git 仓库禁用自动保存):在项目
.sublime-project文件的"settings"字段里写,优先级高于用户设置 - 插件配置(如
SublimeLinter):独立文件如SublimeLinter.sublime-settings,不混在settings.json里,否则插件读不到
很多人试图把 linter 规则、主题路径、快捷键全塞进 settings.json,结果插件不响应、主题加载失败——不是 Sublime 有问题,是配置没放对地方。文件位置和命名规则,比内容本身更容易决定成败。











