atom默认不高亮当前行,需用highlight-line插件实现主编辑区高亮、minimap-highlight-selected实现缩略图高亮,二者独立运行且不可替代。

Atom 默认不高亮当前行,必须靠插件实现——minimap-highlight-selected 负责缩略图里的当前行标记,而编辑器主区的高亮则由 highlight-line 或主题内置逻辑控制。两者不互通,也不能互相替代。
为什么光标所在行没变色?先确认 highlight-line 是否启用
Atom 本体不提供「高亮当前行」功能,highlight-line 是最轻量、最稳定的方案:它只监听光标位置变化,在当前行背景上叠加一层半透明色块,无语法依赖、不卡顿、不和 minimap 冲突。
- 安装方式:
apm install highlight-line,或在 Settings → Install 中搜highlight-line - 启用后默认生效,无需额外配置;若仍不显示,检查是否被主题样式覆盖(比如某些深色主题把高亮色设成和背景相同)
- 颜色可调:打开
~/.atom/styles.less,加这段就能改背景色和透明度:.line.highlight-line { background-color: rgba(100, 150, 255, 0.1); } - 注意:它只作用于「当前焦点编辑器」,切换到 Tree View 或 Console 后自动停用,这是正常行为
minimap 里当前行不亮?别指望 minimap 本体
minimap 插件本身只渲染代码轮廓,不带任何语义高亮。你看到的“当前行在缩略图中标记”,完全来自另一个插件:minimap-highlight-selected。
- 必须单独安装并启用它,否则 minimap 永远不会高亮当前行或选中区域
- 安装后进其设置页(Settings → Packages →
minimap-highlight-selected),勾选Highlight current line - 如果高亮太淡,调
Contrast到0.8~1.0,Opacity到0.95以上 - 避免同时启用
minimap-cursorline——它和minimap-highlight-selected功能重叠,容易样式打架甚至崩溃
highlight-selected 插件会干扰当前行高亮吗?
会,但不是你想的那样。highlight-selected 默认只高亮「光标所在单词的所有匹配项」,并不控制当前行背景;但它开启 Only highlight on selected text 后,若你手动选中某段文本,它会清除所有其他高亮(包括 highlight-line 的当前行标记)。
- 这不是 bug,是设计逻辑:它把「选中文本」视为更高优先级状态,主动压制其他高亮
- 如果你既要当前行背景,又要保留选中文本高亮,建议关闭
highlight-selected的Clear highlights when cursor moves,并**不要勾选**Only highlight on selected text - 更稳妥的做法是:用
highlight-line管当前行,用minimap-highlight-selected管 minimap,两者互不碰对方的 DOM 节点
真正容易被忽略的是:Atom 的焦点状态。如果编辑器窗口没获得键盘焦点(比如刚从终端切回来但光标不闪烁),highlight-line 就不会响应光标移动——此时按 Ctrl+0(Windows/Linux)或 Cmd+0(macOS)强制聚焦编辑器,问题立刻消失。










