最安全的编辑区背景修改方式是直接修改配色方案文件中的background字段;需在packages/user/下复制并编辑.tmtheme或.sublime-color-scheme文件,仅改settings块内background值,不碰主题文件和默认目录。

直接改 background 是最安全的编辑区背景修改方式
Sublime 的编辑区背景色不由设置面板控制,也不靠主题文件(.sublime-theme)管——它只认配色方案文件(.tmTheme 或 .sublime-color-scheme)里 settings 块下的 background 字段。改这里,只动编辑区底色,不影响侧边栏、标签页、语法高亮等其他部分。
- 进
Preferences → Browse Packages…,打开Packages/User/目录(放这儿不会被升级覆盖) - 复制一个现有配色方案(比如
Mariana.tmTheme),重命名为MyEyes.tmTheme - 用 Sublime 打开它,在 xml 中搜索
<key>background</key>,找到紧随其后的<String>#272822</string>,把#272822换成护眼色,例如豆沙绿:#C7EDCC - 保存后,菜单走
Preferences → Color Scheme → User → MyEyes就生效
别碰 Packages/Color Scheme - default/ 下的原始文件——下次更新一装,你的修改就没了。
侧边栏、标签页颜色得改 .sublime-theme 文件
很多人改完 background 发现侧边栏还是惨白或死黑,眼睛反而更累——因为 ui 元素和代码编辑区是两套系统。侧边栏归 .sublime-theme 管,核心字段是 layer0.tint,它接受 RGB 数组,不是十六进制。
- 路径通常在
Packages/Theme - Default/Default.sublime-theme,或你当前用的主题目录下 - 搜索
sidebar_container,找到类似"layer0.tint": [255, 255, 255]的行 - 改成和编辑区一致的护眼色 RGB 值,比如豆沙绿
#C7EDCC对应[199, 237, 204] - 如果改了没反应,大概率是
layer0.texture覆盖了纯色,把它设为NULL即可
layer0.texture 和 layer0.tint 是互斥的:有图就压住颜色,想用纯色就得清掉 texture。
选中文字背景色必须写进 rules 数组,不能放 settings
Sublime 不认 selection 作为全局配置项,settings 里的 selection 字段在新版(v4143+)已失效。真正起作用的是配色方案文件 rules 列表里一条匹配 "name": "Selection" 的规则。
- 打开你正在用的
.sublime-color-scheme(注意:sublime text 4 强制用 json 格式,不是 XML) - 在
"rules"数组末尾加一项:{ "name": "Selection", "scope": "region.greenish", "background": "#A8DADC" } - 确保
background是 6 位十六进制(如#A8DADC),不能带透明度(#A8DADC80会被静默忽略) - 保存后立刻生效;若无效,看状态栏是否报 JSON 语法错误
别试图在用户设置(Preferences → Settings)里加 selection 字段——它不读这个。
护眼 ≠ 深色或浅色,关键在低饱和 + 中明度
纯黑(#000000)配亮字、纯白(#FFFFFF)配暗字,对比过强,盯久了反而视觉紧张。真正护眼的颜色是像豆沙绿(#C7EDCC)、柔灰绿(#E8F5E8)这类低饱和、中明度的中间调。
- 改完
background,顺手检查comment、string、keyword的高亮色——如果它们还是荧光红(#FF2727)或刺眼紫(#AE81FF),眼睛照样累 - Scope 名称必须准确,可用
Ctrl+Shift+P → Show Scope Name实时查看光标处的完整 scope 链 - 所有修改都建议放在
Packages/User/下,避免被自动更新冲掉
最常被忽略的,是以为改了编辑区背景就“完成护眼”——其实侧边栏、选中色、语法高亮三者不协调,割裂感比原来还强。