Sublime Text多光标选中样式无法单独设置,必须修改当前配色方案(.sublime-color-scheme)中scope为"selection"的规则,因其复用普通选区渲染逻辑,而非通过settings或独立作用域控制。

多光标选中样式不能单独设置,它复用 selection 规则
Sublime Text 没有独立的“multi_cursor_selection”作用域或配置项。所有多光标产生的高亮区域(即你按 Ctrl+D 或 Alt+F3 后多个位置同时被框住的部分),都走的是和普通鼠标拖选完全相同的渲染路径:它们统一匹配 scope: "selection" 这条规则。也就是说,改多光标颜色 = 改普通选中颜色,别想绕开配色方案文件。
必须修改 .sublime-color-scheme 文件中的 selection 规则
直接编辑 Preferences.sublime-settings 里的任何字段对多光标颜色无效。真正起效的位置是当前启用的配色方案文件(后缀为 .sublime-color-scheme)——不是 UI 主题(.sublime-theme),也不是设置文件。
- 用
Ctrl+Shift+P→ 输入Show Scope Name,确认当前 scheme 路径(如Packages/Dracula Color Scheme/Dracula.sublime-color-scheme) - 再运行
PackageResourceViewer: Open Resource找到该文件,复制全文到Packages/User/MyCustom.sublime-color-scheme - 在新文件的
"rules"数组里,添加或修改这一条(注意逗号分隔和 JSON 语法):{ "name": "Selection", "scope": "selection", "background": "#3a5f8c80" } -
background值推荐用带 alpha 的十六进制(如#3a5f8c80)或hsla()字符串;纯色如#FF0000会盖掉语法高亮,导致字符串、变量名全变红
为什么改了还是看不见多光标高亮?常见断点
多光标高亮“消失”,往往不是没生效,而是被其他规则覆盖或干扰:
- 你改的是
inactiveSelection(非焦点窗口的选区),但操作时主窗口始终处于焦点状态 - 配色方案里存在多条
scope: "selection" 规则,后加载的覆盖了你改的那条;检查是否重复定义 - 用了不合法格式:8 位 hex(如
#3a5f8c80)在 Windows 上常被忽略,macOS 可能部分支持,但跨平台最稳的是hsla(210, 30%, 40%, 0.4) - 项目级配置覆盖:当前项目根目录下有
.sublime-project文件,且里面指定了"color_scheme",优先级高于全局设置
同词高亮(highlight_word)和多光标是两套系统
按 Ctrl+D 选中多个相同单词后,每个单词下方出现的浅色底纹(非框选区域)不是 selection,而是 Highlight 或 region.yellowish 这类 scope。它和多光标选中样式无关,但用户常混淆。
- 搜索
"Highlight"或"region."关键词,在同一份.sublime-color-scheme文件里单独调它的background - 暗色主题下常见值
"#333333"在深背景上几乎不可见,建议设成"hsla(60, 40%, 90%, 0.4)"这类柔和浅黄 - 确认没在设置里关掉功能:
"highlight_word": true(默认开启,但项目配置可能覆盖)
selection 规则在你当前生效的 .sublime-color-scheme 里正确存在、语法无误、且没被其他同名规则挤掉——其余全是干扰项。


















