Sublime Text 实现彩虹括号需四步:启用内置括号匹配、安装并配置 BracketHighlighter 插件开启 high_visibility、在主题文件中定义 level_1~level_6 作用域颜色、在插件配置中映射 bracket_styles 到对应 scope。

Sublime Text 没有一键安装彩虹括号的官方功能,所谓“一键”其实是误传——真正起作用的是 BracketHighlighter 插件 + 主题配色文件(.tmTheme)中对应作用域的手动定义。跳过任一环节,颜色都不会按层级显示。
确认内置括号匹配已启用
很多用户装完插件发现没反应,其实是 Sublime 自带的底层匹配被关掉了。必须确保以下设置为 true:
-
"match_brackets": true—— 否则光标靠近括号时完全无反馈 -
"match_brackets_content": true—— 控制是否高亮括号内整块区域(比如{...}背景变浅) -
"match_brackets_braces": true和"match_brackets_square": true—— 分别影响{}和[],漏掉一个就可能让 JSON 或 Python 列表不亮
安装 BracketHighlighter 并启用 high_visibility
仅安装插件还不够,BracketHighlighter 默认用的是淡色背景+细边框,根本看不出“彩虹”效果。关键要打开高对比度模式:
- 通过
Ctrl+Shift+P→Package Control: Install Package→ 搜索并安装BracketHighlighter - 打开
Preferences → Package Settings → BracketHighlighter → Bracket Settings – User - 在配置中添加:
"high_visibility_enabled_by_default": true - 可选但推荐:
"bracket_styles": {"default": {"style": "outline"}},这样会显示清晰实线边框,比highlight更易识别嵌套层级
修改主题文件定义 level_1 ~ level_6 作用域颜色
这才是“彩虹”的核心:Sublime 不认 level_1 这种名字,它只认作用域(scope)。你得在当前使用的主题文件(如 Monokai.tmTheme)里手动加六组颜色定义:
- 找到主题路径:
Preferences → Color Scheme查看当前方案名,再进Packages/Color Scheme - Default/或Packages/User/找对应.tmTheme文件 - 在
<array>标签下新增六段类似这样的 XML(注意scope名必须和插件配置一致):<dict> <key>name</key> <string>Bracket Level 1</string> <key>scope</key> <string>brackethighlighter.level-1</string> <key>settings</key> <dict> <key>foreground</key> <string>#FF6188</string> </dict> </dict> - 六级颜色建议值:
#FF6188、#AB9DF2、#78DCE8、#FFD866、#A9DC76、#C3E88D(太接近的色差在小字号下难区分) - 改完保存,重启 Sublime —— 不重启,新作用域不会加载
BracketHighlighter 用户配置里必须启用多级样式
很多人配完主题却还是单色,是因为插件本身没告诉它“要用 level_1~6”。这步不能漏:
- 打开
Bracket Settings – User - 加入:
"bracket_styles": { "level_1": {"icon": "dot", "color": "brackethighlighter.level-1"}, "level_2": {"icon": "dot", "color": "brackethighlighter.level-2"}, "level_3": {"icon": "dot", "color": "brackethighlighter.level-3"}, "level_4": {"icon": "dot", "color": "brackethighlighter.level-4"}, "level_5": {"icon": "dot", "color": "brackethighlighter.level-5"}, "level_6": {"icon": "dot", "color": "brackethighlighter.level-6"} } -
"icon": "dot"可换成"none"避免括号旁出现小点;"color"值必须和.tmTheme里定义的scope完全一致,大小写、连字符都不能错
最容易被忽略的是主题文件里作用域定义和用户配置中 color 字段的严格对应——少一个 level- 前缀,或拼错 brackethighlighter,整套彩虹就会退化成默认灰色边框。重启后,嵌套超过六层的括号会循环使用 level_1 颜色,这不是 bug,是设计如此。


















