直接修改 Preferences.sublime-settings – User 文件即可,所有个性化设置写在右侧用户配置中,格式须为合法 JSON;关键参数如 trim_trailing_white_space_on_save、detect_indentation 等需注意生效条件与陷阱;语法专属设置(如 Python.sublime-settings)优先级高于全局设置。

直接改 Preferences.sublime-settings – User 文件就行,所有个性化设置都写这儿,别碰左侧的 Default 文件——一升级就清空。
怎么打开并编辑用户首选项文件
菜单栏点 Preferences > Settings,会弹出左右分栏:左边是只读的默认配置,右边就是你的 Preferences.sublime-settings – User。所有修改只写在右边,格式必须是合法 JSON(逗号、引号、括号都要对齐)。
- 不要手动创建或用系统文件管理器打开这个文件,路径通常是
Packages/User/Preferences.sublime-settings,但靠菜单打开最稳妥 - 如果右侧是空的,就直接写
{},再往里加键值对;已有内容就只补字段,别覆盖整块 - 常见拼错:
font_size写成fontsize或font_sizee,tab_size写成tab_width(后者是旧版遗留,新版已弃用)
关键参数的实际效果与陷阱
几个高频配置项,改了不一定立刻生效,得看上下文:
-
trim_trailing_white_space_on_save:设为true后,仅对「下次保存」的文件生效;已存在的尾部空格不会自动清理,空行和纯空格行会被整行删掉 -
detect_indentation:默认为true,它会根据当前文件已有缩进“反向覆盖”你设的tab_size和translate_tabs_to_spaces;想强制统一,得同时设"detect_indentation": false -
font_face:macOS 上用"SF Mono"必须带引号、大小写严格匹配;Windows 建议配"Consolas",否则中文可能糊成一块 -
word_separators:JS 里想让$参与单词跳转(比如双击选中$el),就得把$从默认值里删掉,写成"word_separators": "./\()"'-:,.;~!@#%^&*|+=[]{}`~?"
语法专属设置比全局设置优先级高
想让 Python 用 4 空格、JSON 用 2 空格?不能只靠全局 tab_size,得走语法专用路径:
- 打开一个 .py 文件 → Preferences > Settings – Syntax Specific → 右侧会生成
Python.sublime-settings - 文件名必须完全匹配语法名(大小写、空格、点都不能错),比如 TypeScript 是
TypeScript.sublime-settings,不是typescript.sublime-settings - 这里写的
tab_size会覆盖全局设置,但只对当前语法类型生效;插件配置同理,比如SideBarEnhancements.sublime-settings必须放Packages/User/下且名字一字不差
真正容易被忽略的是优先级链:语法专属设置 > 插件独立配置 > 用户全局设置 > 默认设置。改完没反应,八成是某一层被更高优先级的配置盖掉了,而不是参数本身写错了。











