Sublime Text选中高亮色需修改color_scheme文件:先通过Show Scope Name确认当前方案,再用命令面板打开并复制到Packages/User/下编辑,调整"selection"和"region"的background值,注意JSON语法正确且避免纯黑纯白。

Sublime Text 默认的选中区域高亮颜色经常和主题冲突,导致看不清或反光刺眼。改法很简单,但必须修改 color_scheme 文件(不是 Preferences.sublime-settings),而且改错位置或格式会直接让配色失效。
怎么找到并编辑当前 color_scheme 文件
选中一段文字 → 右键 → Developer → Show Scope Name,顶部状态栏会显示类似 source.python meta.function.python 的内容,说明你正在用某个 color scheme;接着按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac)→ 输入 Color Scheme → 选中当前启用的方案(如 Monokai.sublime-color-scheme),它会自动在侧边栏打开对应文件。
- 该文件路径通常在
Packages/Color Scheme - Default/Monokai.sublime-color-scheme或用户自定义主题目录下 - 如果是 .tmTheme 格式(旧版 XML),需先转成 JSON 格式再改,否则 Sublime 5+ 不识别
- 不要直接改
Packages/Color Scheme - Default/下的原文件,建议复制一份到Packages/User/并重命名,然后在Preferences → Color Scheme中手动选它
修改 selection 和 region 的 background 颜色
在 color_scheme 文件中搜索 "selection" 和 "region" —— 前者控制普通文本选中色,后者影响 Find 高亮、bookmarks、甚至插件(如 BracketHighlighter)的标记底色。它们都靠 "background" 字段定义颜色值(支持 hex、rgba、hsl)。
{
"name": "Selection",
"scope": "selection",
"background": "#3a405a" // ← 改这里,比如换成更柔和的 #2d3748
},
{
"name": "Region",
"scope": "region",
"background": "#4a5568" // ← 这个常被忽略,但影响很大
}
-
"selection"必须存在,否则 Sublime 会回退到默认深蓝 -
"region"如果不存在,可以手动加一组对象(注意逗号分隔和数组结构) - 避免用纯白
#ffffff或纯黑#000000,容易造成对比过强、视觉疲劳 - 如果用了透明度(如
rgba(58, 64, 90, 0.7)),需确认你的 Sublime 版本 ≥ 4126,旧版不支持 alpha
为什么改了没生效?常见断点排查
改完保存后选区颜色没变,大概率是以下某处出问题:
- 文件未保存,或保存成了 .txt 后缀(检查是否真的是
.sublime-color-scheme) - 配色文件语法错误:JSON 缺少逗号、引号不匹配、多写了逗号(尤其在最后一项后)—— 打开 Sublime 控制台(
Ctrl+`)能看到报错行 -
作用域写错:比如把
"scope": "selection"写成"scope": "selected",Sublime 就完全忽略这条 - 主题本身覆盖了 selection:某些第三方主题(如 Ayu、Dracula)在根级
"globals"里定义了"selection",优先级更高,此时得改"globals"下的对应字段
真正起效的颜色规则藏在 color_scheme 里,而不是 UI 主题或设置里;哪怕只调一个 "background" 值,也要确保它落在正确的 scope 对象中,且整个 JSON 结构合法。改之前最好备份原文件,不然连默认色都找不回来。










