关闭 highlight_matches 设为 false 可禁用全文匹配高亮;若仍有高亮,需检查 WordHighlight 等插件是否覆盖设置,并将其 highlight_when_selection_empty 设为 false 才实现仅选中时高亮。
Sublime Text 默认会高亮所有匹配的单词(比如双击一个变量名,所有同名变量都会被标记),这在大文件里容易造成视觉干扰。要让它只高亮当前光标所在位置或选中的文本,关键不是启用某个开关,而是**关闭默认的全局高亮行为**。
highlight_line 和 highlight_matching_brackets 不相关,真正要改的是 highlight_on_select
这个设置控制“是否在选中文字时高亮所有匹配项”,但它默认是关闭的;真正导致你看到满屏高亮的,其实是 highlight_matches 的
副作用。你需要显式禁用它:
highlight_matches 是触发全文匹配高亮的核心开关,设为 false 即可停用highlight_line 控制当前行背景色,和匹配无关,不用动highlight_matching_brackets 只影响括号配对,也不影响单词高亮修改方式:打开 Preferences → Settings,在右侧用户设置中加入:
{
"highlight_matches": false
}
某些插件(如 BracketHighlighter、WordHighlight)会自行实现高亮逻辑,完全绕过原生 highlight_matches 设置。如果你已设为 false 但仍有高亮,大概率是插件在起作用:
Tools → Command Palette → Package Control: Disable Package,逐个关掉疑似插件再测试WordHighlight 有自己的 word_highlight.settings,其中 "highlight_when_selection_empty" 设为 false 才真正只在有选中时高亮原生 Sublime 没有“仅当有选中文本才高亮匹配项”的开关。如果真需要这个行为(例如:选中 user_id 才高亮所有 user_id,光标停在上面不触发),必须借助插件:
WordHighlight 后,在其设置中启用:"highlight_when_selection_empty": false
"highlight_when_selection_empty" 和 "highlight_word_under_cursor_when_selection_empty" 都为 false
Ctrl+D 增量选择时,才会触发高亮这个细节常被忽略:很多人以为关掉 highlight_matches 就万事大吉,结果插件悄悄接管了高亮逻辑,还沿用默认的“光标悬停即高亮”策略。