<p>BracketHighlighter 是唯一稳定支持 HTML 标签对、嵌套分色与清晰高亮的 Sublime 插件;它需满足三项设置开启且主题定义 brackethighlighter.* 样式才能正常工作。</p>

Sublime 原生就支持括号跳转,不需要插件;但想高亮清晰、嵌套分色、支持 HTML 标签对,BracketHighlighter 是目前唯一稳定可用的插件。
Ctrl+M 跳转失败?先确认光标是不是真“踩在括号上”
Sublime 的 Ctrl+M(Windows/Linux)或 Cmd+M(macOS)只响应光标**精确落在括号字符本身**:比如 {、}、(、)、[、] 这六个符号。光标停在 if (x > 0) { 的 x 上、空格里、甚至紧贴括号左边/右边的空白处,Ctrl+M 都不会触发。
- 用
Ctrl+←或Ctrl+→(跳词)快速把光标挪到最近的括号字符上,再试 - 右下角语言模式必须正确:显示
Plain Text时括号匹配直接失效,点它手动选成JavaScript、Python等 - 中文输入法会拦截快捷键,切回英文输入法再按
- 如果跳转成功但没高亮边框,不是功能坏了,是当前配色方案没定义
brackethighlighter.default类样式
BracketHighlighter 是什么?它解决哪些原生做不到的事
原生 Sublime 只能高亮基础括号对,且默认仅悬停闪烁、无边框、不区分嵌套层级、HTML 标签对识别不稳定。BracketHighlighter 插件补足这些缺口,但它不是“装上就亮”,而是依赖三个硬性前提同时满足:
-
"match_brackets": true(必须开,否则插件根本不启动) -
"match_brackets_braces": true和"match_brackets_square": true(否则{}和[]不响应) -
"high_visibility_enabled_by_default": true(默认只闪一下,不开这个就看不到持续高亮)
它还能识别 <div>/</div>、引号对、自定义分隔符,支持多光标同时高亮,但代价是:若主题缺失 brackethighlighter.round 等 scope 定义,颜色会 fallback 到极浅灰,看起来像没生效。
怎么让括号高亮真正“看得见”?别只改插件设置
高亮不显,90% 情况不是插件问题,而是主题缺配色。临时验证方法:菜单 → Color Scheme → 切到 Monokai 或 Adaptive,再试 Ctrl+M——如果立刻清晰,说明你当前主题没写 brackethighlighter.* 规则。
- 长期解决:用
PackageResourceViewer提取当前主题的.sublime-color-scheme文件 - 在
rules数组末尾加一段(注意 JSON 格式合法):{ "name": "Bracket Highlight", "scope": "meta.brace.round, meta.brace.square, meta.brace.curly", "foreground": "#FF5555", "background": "#282C3430", "bold": true } - 别开
"match_brackets_content": true处理深嵌套代码——它会让光标在括号内时也尝试高亮,但容易误判,尤其在 JSX 或模板字符串里
别混淆:自动补全括号和高亮跳转是两套机制
输入 ( 自动补 ) 由 "auto_match_enabled": true 控制,和括号高亮完全无关。这个选项只在用户设置(Preferences → Settings 右侧面板)中生效,语法专属设置(如 Preferences → Settings – Syntax Specific)优先级更高,可能偷偷关掉它。
-
BracketHighlighter不负责补全,只负责高亮和跳转增强 - Emmet、Vintage 模式等插件会劫持
(、'等输入事件,导致BracketHighlighter收不到触发信号,调试时可临时禁用它们 -
Ctrl+Shift+M是选中括号块的快捷键,不是跳转——光标在)上,它只会选(x > 0),不会往外扩到{};要逐层向外扩展,得多次按Ctrl+Shift+M,且光标必须先移到外层括号上
最常被忽略的是:高亮颜色是否真被主题渲染出来,而不是插件有没有装对。切主题验证比重装插件快十倍。

















