直接修改.tmTheme文件中的background字段最安全,仅改变编辑区背景色而不影响语法高亮、侧边栏等其他UI元素。

怎么只改编辑区背景色,不碰语法高亮?
直接改 background 字段最安全,其他颜色规则完全不受影响。关键不是“换主题”,而是“复用原主题 + 只动一处”。
- 打开
Preferences → Browse Packages…,进入Packages/User/目录(放这里不会被更新覆盖) - 复制一个现有
.tmTheme文件(比如Monokai.tmTheme)到该目录,重命名为MyGreen.tmTheme - 用 Sublime 打开它,在 XML 中搜索
,找到紧随其后的background #272822 - 把
#272822换成护眼色,例如豆沙绿:#C7EDCC,保存 - 回到菜单
Preferences → Color Scheme → User → MyGreen即可生效
注意:别改 Packages/Color Scheme - Default/ 下的原始文件——下次更新会清空你的修改。
为什么改了 background,侧边栏还是黑的?
因为侧边栏(sidebar)、标签页、状态栏这些 UI 元素的颜色不由 .tmTheme 控制,而归 .sublime-theme 管。配色方案(Color Scheme)只管编辑区文字和背景,UI 主题(Theme)才管界面容器。
- 先确认当前主题名:
Preferences → Theme,比如显示的是Adaptive.sublime-theme - 在
Packages/下找对应文件,若找不到(比如是压缩包),用PackageResourceViewer插件提取 - 打开主题文件,搜索
"class": "sidebar_container",找到类似这样的块:
{
"class": "sidebar_container",
"layer0.tint": [40, 40, 40],
"layer0.opacity": 1.0
}
- 把
"layer0.tint"改成 RGB 数组,例如浅灰:[240, 240, 240],或柔绿:[232, 245, 232](对应#E8F5E8)
改完保存,Sublime 会自动刷新——但如果你发现没变,大概率是主题用了 layer0.texture 覆盖了纯色,把它设为 null 就行。
选中文字背景色怎么单独调?
这是另一个独立控制项,既不在 .tmTheme 的全局 background 里,也不在主题文件中,而是在同一份 .tmTheme 里靠 scope="selection" 规则定义。
- 继续编辑你刚创建的
MyGreen.tmTheme - 搜索
selection,定位到类似这样的结构:
name Selection scope selection settings background #3399FF
- 把
换成你喜欢的色值,比如护眼黄绿:#3399FF #A8DADC - 如果想让非激活窗口的选中色也一致,顺手加上
inactiveSelection规则
这个改动必须写在 .tmTheme 里,而不是设置里——Preferences → Settings 中的 color_scheme 只指定路径,不接受内联颜色配置。
想加背景图,但怕影响阅读?
背景图不是靠改颜色实现的,得进主题文件加 layer0.texture,而且必须配合低透明度,否则代码根本看不清。
- 在
.sublime-theme中找到"class": "overlay_control"或"class": "group"(控制编辑区容器) - 添加或修改它的
layer0层:
{
"class": "group",
"layer0.texture": "User/background.png",
"layer0.opacity": 0.05
}
-
User/background.png要放在Packages/User/目录下,路径是相对于Packages/的 -
opacity强烈建议 ≤ 0.1;超过 0.15 基本就干扰阅读了 - 纹理图优先选模糊、低对比、浅色底的,避免带文字或强线条
真正容易被忽略的是:改了主题文件后,如果用的是第三方主题(如 Material Theme),它可能自带背景图开关(如 material_theme_background_panel),这时优先查它的文档,而不是硬改 JSON——否则升级后开关失效,图就没了。










