Atom默认不高亮当前行,需在Settings → Core Settings中勾选Highlight Current Line;若颜色过淡,须在styles.less中添加含!important的.cursor-line样式规则。

Atom 默认不高亮当前行,必须手动启用并配置
Atom 编辑器自带的 bracket-matcher 或 highlight-selected 都不负责当前行高亮;真正起作用的是内置的 cursor-line 功能,但它默认关闭。你看到的“光标所在行没背景色”,不是主题问题,而是这个开关根本没打开。
操作路径:Settings → Core Settings → 勾选 Highlight Current Line。注意不是在插件页,也不是在语法主题设置里——它藏在最底层的 Core 配置中。
常见误操作:
- 只改
styles.less里的.cursor-line背景色,但没开启该功能,样式压根不生效 - 误以为
minimap-highlight-selected的 “Highlight current line” 选项能控制编辑区,其实它只影响缩略图区域 - 装了
atom-material-ui等已废弃 UI 主题,导致 Core 设置项异常隐藏或失效
高亮颜色太淡或发白?直接改 styles.less 才可靠
开启 Highlight Current Line 后,Atom 会用默认浅灰(如 rgba(0,0,0,0.05))填充当前行,但在深色主题下几乎不可见。这不是 bug,是设计如此——它把最终样式控制权交给你。
打开 Atom → Open Your Stylesheet(即 ~/.atom/styles.less),添加:
.cursor-line {
background-color: rgba(90, 100, 120, 0.2) !important;
}关键点:
-
!important必须加,否则被语法主题或 UI 主题的 CSS 覆盖 - alpha 值建议 ≥0.15,低于 0.1 在暗色背景下基本隐形
- 别用纯色(如
#333),透明叠加更自然,避免和.selection .region冲突 - 如果用了
one-dark-ui,别同步改.cursor-line-shadow,它只在 macOS 上起作用且易引发重绘异常
为什么开了选项却没反应?检查 scope 和插件冲突
即使勾选了 Highlight Current Line,某些文件仍无高亮,常见原因是 Atom 没识别出这是代码文件。右下角显示 Plain text 或 text.html.vue 时,cursor-line 逻辑直接跳过。
验证方式:按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 Editor: Log Cursor Scope 回车,看第一行是否为 source.js、source.ts、source.vue 等标准 scope 名。
修复方法:
- 点击右下角语法名 → 从列表中选对的 grammar(例如
Vue Component而非HTML (Vue)) - 确保安装了对应 language 插件:
language-vue(不是language-html),language-typescript(不是language-javascript) - 临时禁用
parinfer或atom-ide-*系列插件,它们可能劫持 editor lifecycle 导致cursor-line初始化失败
和选中块(selection)高亮共存时容易互相覆盖
当前行高亮和鼠标选中文本的背景色都通过 .cursor-line 和 .selection .region 控制,但两者 CSS 权重常打架。比如你设了 .cursor-line { background-color: #2a2f3b; },结果选中一段文字后,那行背景反而变回默认浅灰。
解决办法是统一声明并提高 specificity:
.cursor-line,
.editor .cursor-line,
atom-text-editor::shadow .cursor-line {
background-color: rgba(80, 90, 110, 0.25) !important;
}
<p>.selection .region,
.editor .selection .region,
atom-text-editor::shadow .selection .region {
background-color: rgba(100, 140, 200, 0.3) !important;
}注意:
- 必须包含
atom-text-editor::shadow前缀,否则在 Shadow DOM 下无效 - 不要只写
.cursor-line,Atom 1.60+ 多层封装后,单层选择器大概率不命中 - 两个背景色 alpha 值需错开(如 0.25 vs 0.3),否则选中时完全看不出当前行在哪
真正容易被忽略的是:这个高亮只作用于「光标所在行」,不是「选中多行」。如果你用 Ctrl+L 选中整行再按方向键移动,高亮会跟着光标走,而不是固定在最初选中的那行上——它始终是 cursor-line,不是 selection-line。

















