Sublime Text 当前行高亮背景色需修改 .sublime-color-scheme 文件中的 "line" scope 规则,如 { "name": "Current Line", "scope": "line", "background": "#2f2f2f" },仅支持 #RRGGBB 或 #RRGGBBAA 格式,改后须重启配色方案生效。

Sublime Text 怎么改当前行高亮背景色
直接改 color_scheme 配置文件,不是改主题(Theme)或设置(Settings)。Sublime 的当前行高亮(Current Line)由配色方案(.sublime-color-scheme 文件)控制,和 UI 主题无关。改错地方会导致无效——比如在 Preferences.sublime-settings 里加 "highlight_line": true 只是开启高亮开关,但颜色仍由配色方案决定。
找到并编辑当前使用的 .sublime-color-scheme 文件
路径通常为:Packages/Color Scheme - Default/Monokai.sublime-color-scheme(以 Monokai 为例)。实际路径取决于你当前启用的配色方案,可通过菜单 Preferences → Color Scheme 查看名称,再对应到 Packages/ 下同名文件夹里的 .sublime-color-scheme 文件。
操作建议:
- 用 Preferences → Browse Packages… 打开目录,进对应配色方案文件夹
- 复制原文件(如
Monokai.sublime-color-scheme),重命名为Monokai Custom.sublime-color-scheme,避免升级覆盖 - 在 Sublime 中打开该副本,在
rules数组末尾添加新规则(注意 JSON 格式,逗号不能多也不能少)
示例新增规则(把当前行背景设为浅灰):
{
"name": "Current Line",
"scope": "line",
"background": "#2f2f2f"
}
scope 是 line 还是 gutter?为什么有时改了没反应
scope: "line" 是标准写法,匹配整行背景;scope: "gutter" 只影响行号区域,不是当前行内容区。常见无效原因:
- 配色方案文件语法错误(JSON 缺少逗号、引号不闭合),Sublime 会静默忽略整个文件,回退到默认方案
- 没重启 Sublime 或没重新选择该配色方案(改完后需手动在 Preferences → Color Scheme 中再次选中它)
- 某些第三方配色方案已定义了
"line"规则,你的新规则被前面同名规则覆盖——把新规则放在rules数组最前面更稳妥 - 开启了
"highlight_line": false(虽然极少有人关,但检查下Preferences.sublime-settings更保险)
颜色值怎么写?HEX / RGB / HSL 都支持吗
只支持 #RRGGBB 或 #RRGGBBAA(带透明度)。不支持 rgb()、hsl() 或英文色名(如 red)。Alpha 通道(最后两位)可控制半透效果,例如 #2a2a2a33 比 #2a2a2a 更淡。
小技巧:
- 用浏览器开发者工具取色,粘贴 HEX 值时记得补全 6 位(
#333要写成#333333) - 如果想让当前行和选中文本背景区分明显,避免用和
selection规则相同的background - 暗色主题建议用比背景稍深/稍浅的灰色系,太艳会破坏阅读节奏
真正麻烦的是调试:每次改完都要保存、切换配色方案、观察效果,且错误不报错。最易被忽略的,是 JSON 结构合法性——一个多余的逗号,就等于白改半小时。










