必须在当前启用的.sublime-color-scheme文件中显式定义selection规则,用"scope":"selection"和带对比度/透明度的background(如hsla或6位hex),并确保color scheme设置中手动选中该文件。

选中文字高亮不明显,不是设置没开、插件没装,而是你根本没改对地方——selection 规则必须在当前启用的 .sublime-color-scheme 文件里显式定义,且 background 值要带足够对比度和透明度。
怎么找到并编辑真正生效的 .sublime-color-scheme 文件
别碰 Preferences → Settings,那里面任何字段都改不了选区颜色。唯一有效路径是定位并编辑配色方案文件本身:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Show Scope Name回车,状态栏会显示类似Packages/Dracula Color Scheme/Dracula.sublime-color-scheme的路径 - 再输
PackageResourceViewer: Open Resource,按提示选中该主题文件打开 - 全选复制内容,粘贴到
Packages/User/目录下新建一个文件(如Dracula-custom.sublime-color-scheme) - 回到
Preferences → Color Scheme中手动选中这个新文件,确保它被真正启用
怎么写有效的 selection 规则(不是随便加个 background 就行)
selection 必须是 "rules" 数组中的一条完整对象,漏掉 "scope": "selection" 或写错位置都会静默失效:
- 在文件里搜索
"scope": "selection"或"name": "Selection",直接修改它的background - 推荐用带 alpha 的
hsla(),比如"background": "hsla(210, 30%, 70%, 0.4)";6 位 hex 也行,如"background": "#3a5f8c" - 避免用 8 位 hex(如
#3a5f8c80),Windows 上常被忽略;也别写成扁平结构:"selection": { "background": "#ff0000" }—— 完全无效 - 如果整个文件里压根没有
selection条目,就在"rules"数组末尾手动加一段(注意逗号分隔和 JSON 闭合):
{
"name": "Selection",
"scope": "selection",
"background": "#3a5f8c"
}
为什么改了 selection 还是看不见“同词高亮”
这不是 selection 的问题,而是 highlight_word 功能走另一套规则,叫 Highlight 或 region.yellowish:
- 在同一个
.sublime-color-scheme文件里搜索"name": "Highlight"或"scope": "region.yellowish" - 优先改它的
background,别只调foreground(那是文字色,对高亮无效) - 很多暗色主题把它设成
"#33333380"这种极淡灰,在深背景上根本看不见——看着像功能坏了,其实是颜色太淡 - 顺手检查用户设置里有没有
"highlight_word": false,有就删掉
最常被忽略的是:改完保存后不验证是否真在用这个 scheme 文件——哪怕路径看起来一样,只要 Preferences → Color Scheme 里没手动点选你的 -custom 版本,所有修改都白做。











