highlight-selected插件高亮一闪即逝,是因为默认启用“Clear highlights when cursor moves”,需取消该选项并勾选“Only highlight on selected text”,重启插件后按Ctrl+点击单词即可强制全文高亮同名标识符。

highlight-selected 插件为什么高亮一闪就消失?
默认行为是光标移动就清除所有高亮,不是“选中即高亮”,而是“选中+停留才高亮”。这导致双击单词后按方向键、点别处、甚至滚动都会让高亮消失。
- 打开
Settings → Packages → highlight-selected → Settings - 取消勾选
Clear highlights when cursor moves - 勾选
Only highlight on selected text(名字有误导,但开启后反而更可控) - 重启 Atom 或禁用再启用插件才能生效
怎么强制高亮全文所有同名标识符?
不用 Ctrl+F 搜索再手动操作,highlight-selected 支持快捷触发:
- 按住
Ctrl(macOS 是Cmd),鼠标左键点击任意变量、函数名、CSS 类或 HTML 属性 - 立刻高亮当前文件中所有匹配项,且不会因后续操作自动清除(前提是已关掉自动清除)
- 区分大小写,但不区分作用域——
const foo = 1和function foo()会被一起高亮 - 若无反应,检查是否被
vim-mode-plus或parinfer拦截了Ctrl+Click;可用atom --safe验证
和 pigments / minimap-highlight-selected 共存时怎么避免卡顿?
三者都往编辑区注入 DOM 标记,叠加太多会拖慢滚动,尤其在大文件里:
-
pigments负责颜色字面量(如#ff0000、red),highlight-selected管标识符,职责不同但渲染层冲突 - 进
pigments设置页,把Marker Type改成dot(比outline或background轻量得多) - 禁用
highlight-selected的Highlight on Right Click,防止右键菜单弹出时意外触发 -
minimap-highlight-selected独立控制缩略图高亮,不影响主编辑区,建议保留
高亮颜色太淡或跟背景融在一起怎么办?
highlight-selected 的高亮样式由 CSS 控制,不是语法主题决定的,不能靠换 Syntax Theme 解决:
- 执行
Atom → Open Your Stylesheet,打开~/.atom/styles.less - 加这段规则(适配深色背景):
.highlight-selected .highlighted { background-color: rgba(255, 235, 59, 0.2) !important; border: 1px dashed #ffeb3b !important; } -
!important必须加,否则被主题 CSS 覆盖;alpha 值低于0.15在深色主题下基本不可见 - 别改
.syntax--variable这类语法 scope,那只是着色层,跟查找高亮无关
todo-show 或命令行 rg 配合,highlight-selected 的定位就是单文件上下文感知。

















