sublime text 没有真正支持“高亮当前选中行”的插件,因“选中行”非独立 scope;唯一可靠方案是启用原生 highlight_line 功能,并通过修改配色方案调整其背景色。

Sublime Text 没有“高亮当前选中行”的插件——因为这个需求本身存在概念混淆:你真正要的,要么是「高亮光标所在行」(原生支持),要么是「高亮鼠标拖选的多行区域」(原生不支持,且无稳定插件实现)。
为什么找不到“高亮选中行”的插件
Sublime 的视觉高亮机制里,“选中行”不是独立 scope。它只是普通 selection 的延伸表现,而 selection 背景色由主题控制,无法单独为“整行被选中”设置特殊样式。所有声称支持该功能的插件(比如搜到的 HighlightSelectionLine 或拼写变体),实际要么已失效,要么只是把 highlight_line 和 selection 混在一起误导用户。
- 原生 selection 高亮只作用于文字区域,行首/行尾空白处不覆盖
- 即使你用鼠标从行首拖到行尾,Sublime 仍视为「文本 selection」,不是「line selection」
- Package Control 搜索
highlight selected line或highlight selection line,返回结果基本是 404、报错或空激活
正确做法:启用并调色 highlight_line(光标所在行)
这是唯一可靠、原生、零依赖的方案。它不响应选中,只响应光标位置,但能极大缓解“找不清当前在哪行”的问题。
- 打开
Preferences → Settings,在右侧用户配置中添加:"highlight_line": true - 保存后立即生效,无需重启
- 颜色不可通过设置项修改,必须编辑当前配色方案文件(
.sublime-color-scheme) - 在 scheme 文件的
"rules"数组里加一条:{"scope": "region.line", "background": "#2d3748"}(深色主题推荐带一定饱和度的灰蓝,避免太淡或透明) - 改完保存,Sublime 自动重载;若无效,检查 JSON 是否漏逗号、引号是否成对
别碰“Highlight3”或类似名字的插件
搜索 Highlight3 安装,Package Control 不会返回有效结果。你大概率会装上一个命名错误、早已 abandon 的分支,或者干脆触发插件加载失败报错:reloading plugin Highlight3.main 后跟着 ImportError: No module named 'xxx'。
-
Highlight3不是 Sublime 社区公认插件,也未收录在官方 Package Control 仓库 - 真正可用的是
WordHighlight(高亮相同词)、Highlight Line(悬停行号时高亮,非光标行)、BracketHighlighter(括号匹配) - 如果看到教程说“安装 Highlight3 后修改 settings”,那整个流程就是错的起点——插件根本不存在
如果你真需要视觉区分“被选中的整行”
目前没有健壮方案。可行但有限的替代思路只有两个:
- 用
Ctrl+L选择整行(或多次按)→ 然后靠 selection 背景色“凑合看”,但行号列和行尾空白不会被染色 - 配合
Highlight Line插件(作者 guilhermejacob),它能在鼠标悬停行号时临时高亮整行,但不绑定 selection 状态,也无法持久化
真正卡点在于:Sublime 的 selection model 和 rendering layer 并未暴露「line selection」的 scope 名,插件无法 hook 到这个粒度。所以别浪费时间找“完美匹配”的插件——先用好 highlight_line,再接受这个限制。











