必须修改当前启用的.sublime-color-scheme文件rules数组中"scope": "selection"条目,用hsla()或8位十六进制(如"#2a5c8a80")设background;其他位置修改均无效,需通过show scope name定位路径、复制到packages/user/下编辑并手动启用副本,且注意跨平台alpha渲染差异与项目配置覆盖。

必须改当前启用的 .sublime-color-scheme 文件中 rules 数组里的 "scope": "selection" 条目,设 background 为带 alpha 的 hsla() 或 8 位十六进制值;其他任何地方改都无效。
怎么找到并编辑正确的 .sublime-color-scheme 文件
你看到“改了没反应”,基本是文件路径或格式错了。别碰 Preferences.sublime-settings,它对选中色完全无影响。
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Show Scope Name回车,状态栏会显示当前 scheme 路径,例如Packages/Dracula Color Scheme/Dracula.sublime-color-scheme - 再输
PackageResourceViewer: Open Resource,选中该主题,它会打开原始文件 —— 别直接改它,全选复制,粘贴到Packages/User/下新建一个文件,比如Dracula-custom.sublime-color-scheme - 回到
Preferences → Color Scheme → User → Dracula-custom手动启用它,后续所有修改只动这个副本 - 验证是否生效:新建一个 Plain text 文件,随便打字并选中,排除语法作用域干扰
selection 规则必须写在 rules 数组里,不能扁平或嵌套错层
Sublime 只认 rules 数组中独立的 "scope": "selection" 对象,写错位置等于白写。
- 在你刚创建的
.sublime-color-scheme文件里搜索"scope": "selection"或"name": "Selection" - 找到后只改
background字段:推荐用带 alpha 的hsla(210, 30%, 70%, 0.3)或 8 位 hex(如"#2a5c8a80");纯 6 位 hex(如"#2a5c8a")不带透明度,容易盖住语法高亮,让字符串、变量全变蓝一片看不清 - 如果整份文件里压根没有
selection条目,就在"rules"数组末尾手动加一段(注意前面逗号分隔、JSON 结构闭合):{ "name": "Selection", "scope": "selection", "background": "#2a5c8a80" } - 改完保存,Sublime 会自动重载 —— 不用重启,但若无效,先检查 JSON 是否漏引号、逗号或括号
为什么改了 selection 还是看不见同词高亮
这不是 selection 的问题,是 highlight_word 功能走另一套规则,叫 Highlight 或 region.yellowish。
- 很多暗色主题把它的
background设成极淡的灰(如"#33333380"),在深背景上几乎不可见 —— 看起来像功能失效,其实是颜色太淡 - 在同一份
.sublime-color-scheme文件里搜索"Highlight"或"region.yellowish",找到对应条目,优先改它的background - 别只调
foreground(那是文字色,对高亮无效);避免用纯色如"#FFFFFF",推荐"hsla(60, 40%, 90%, 0.4)"这类柔和带透明度的值 - 顺手检查用户设置里没关掉功能:
Preferences → Settings右侧确认没有"highlight_word": false
最常被忽略的是:不同平台对 alpha 的处理不一致 —— macOS 上 #2a5c8a80 是半透明,Windows/Linux 可能渲染为不透明,导致对比度突变;还有项目级 .sublime-project 文件里若写了 "color_scheme",会强制覆盖全局设置,优先级最高。











