sublime关键词高亮需通过scope匹配实现,而非通用keywords配置;正确做法是用show scope name获取精确scope,再在color_scheme中配置,或使用highlightwords插件快速标记文本。

Sublime 里 keywords 不是通用配置项,得靠 scope 匹配
Sublime 没有叫 keywords 的全局高亮开关。所谓“自定义关键词高亮”,实际是给特定词打上语法 scope(比如 keyword.control.js),再在配色方案里按这个 scope 设颜色。直接搜 keywords 或硬改 keyword 这种宽泛 scope,大概率误伤其他关键字,或根本不起作用。
正确路径是:光标停在目标词(如 await、throw、__init__)→ 按 Ctrl+Shift+P → 输入 Show Scope Name → 看状态栏返回的完整 scope 字符串 → 去 .sublime-color-scheme 文件里找对应项。
- JavaScript 的
await是keyword.control.async.js,不是keyword - Python 的
self是variable.parameter.function.python,不属于 keyword 类 - 自定义宏或 DSL 关键字(如
@api、#[test])必须先在.sublime-syntax里定义捕获规则,否则连 scope 都不会生成
想高亮自己写的标识符?用 HighlightWords 插件最直接
如果你只是想让某些变量名、函数名、标记字符串(如 user_cache、validate_token、// HOT)视觉突出,不涉及语法解析,HighlightWords 是最轻量、最可控的选择。
安装后,在命令面板输入 HighlightWords: Add Word,输入你要高亮的词,支持正则(如 \bTODO\b)。它不依赖语法 scope,也不修改任何配置文件,所有高亮实时生效且可随时清空。
- 适合高频修改段落的伪“热点”标记
- 避免和语法高亮逻辑冲突(比如你改了
string的颜色,结果所有双引号字符串都变色) - 注意:插件默认高亮全文匹配,若只想当前文件生效,需在插件设置里关掉
global_highlight
手动加 scope 规则前,先确认 color_scheme 路径已显式指定
很多人改完 .sublime-color-scheme 文件发现没变化,核心原因就一个:Preferences → Settings – User 里没写 "color_scheme" 字段,或者路径写错了。
构建并排查Microsoft Word邮件合并及DOCX模板工作流,使用合并域、内容控件、文档属性、重复区块、数据等
必须确保用户设置里有类似这样的行:
"color_scheme": "Packages/User/MyMonokai.sublime-color-scheme"
而不是只复制文件到 Packages/User/ 就完事。Sublime 默认加载的是只读系统主题,不显式指定,你改的副本永远不会被读取。
- 路径必须和文件实际位置完全一致,大小写、后缀、斜杠方向都不能错
- 如果路径含空格或中文,Sublime 可能静默失败,建议全用英文命名
- 改完保存后不用重启,但要确保当前文件没被其他插件强制覆盖 color_scheme(比如某些 UI 主题插件会劫持该设置)
scope 写错一个字符,颜色就失效——别靠猜
在 .sublime-color-scheme 的 "rules" 数组里加新条目时,"scope" 值必须和 Show Scope Name 返回的一模一样。多一个点、少一个后缀、大小写不一致,都会导致匹配失败。
例如,你想高亮 Python 的类型注解 Optional,它的真实 scope 是 support.type.python,不是 support.type,也不是 support.type.optional。
- 新增 rule 时,建议复制粘贴 Show Scope Name 的输出,不要手敲
- scope 支持空格分隔多个值(如
"scope": "keyword.control.js constant.language.js"),但中间不能有换行或多余空格 - 如果 scope 太长或嵌套深(如
meta.function-call.python meta.group.python),优先考虑是否真需要这么细——多数时候宽泛一点更稳定










