highlightwords插件并非日志分析工具,它不自动提取高频词、时间戳或错误码,仅支持手动添加固定关键词;需通过find in files配合highlight matches实现高效日志标记。

HighlightWords插件根本不是为“阅读日志”设计的
它默认只响应手动添加的关键词,不自动提取日志里的高频词、时间戳或错误码;所谓“阅读日志神器”是误传。如果你打开一个 10MB 的 access.log 或 application.log,直接装 HighlightWords 并期待它自动标出 ERROR、404、timeout —— 它不会动,除非你一条条 HighlightWords: Add Word 手动加。
真正能快速标记日志关键词的路径是:先用 Find in Files(Ctrl+Shift+F)搜出目标模式 → 勾选 Highlight Matches → 再配合 highlight_word 原生能力看上下文。HighlightWords 只适合固定、少量、跨文件复用的关键词,比如你团队约定的 TODO、HOTFIX、DEPRECATED。
添加关键词必须用命令面板,不能靠配置文件硬写
HighlightWords 不读取用户设置里的数组字段,"words": ["ERROR", "WARN"] 这种写法在 Preferences → Settings 里完全无效。它只认运行时命令。
- 把光标放在要高亮的词上(比如日志行里的
500),按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
HighlightWords: Add Word回车 → 当前词立即加入高亮列表 - 重复操作可叠加多个词;已添加的词会持久保存在
Packages/User/HighlightWords.sublime-settings中 - 删词用
HighlightWords: Remove Word,清空全部用HighlightWords: Clear All
注意:Add Word 默认开启全字匹配(word 模式),所以 err 不会匹配 error;想模糊匹配得额外开正则,但代价是性能下降、大日志卡顿。
日志里带时间戳或路径的词容易漏匹配
HighlightWords 默认只识别“纯单词”,遇到 [2026-07-01 14:22:33] 或 /api/v2/users/123 这类结构,它会因含 -、:、/ 等分隔符而拒绝识别为一个整体——哪怕你双击选中了整段。
安全的随机密码生成器。支持自定义长度、字符类型(大写/小写字母、数字、特殊符号),排除相似字符,批量生成。纯 Python 标准库,无需 API 密钥。
解决方法只有两个:
- 改
word_separators:打开Preferences → Settings – Syntax Specific(确保当前是 Plain text 或 Log 语法),删掉-和:,例如:"word_separators": "./\()\"'?,.;~!@#$%^&*|+=[]{}`~" - 用正则替代:在命令面板执行
HighlightWords: Add Regex,填\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}→ 但每条正则都吃 CPU,日志超 1MB 就明显延迟
更现实的做法是:别强求 HighlightWords 处理结构化日志,换用 Find in Files + Regex + Highlight Matches 组合,速度更快、更可控。
和原生 highlight_word 共存时颜色会打架
HighlightWords 的高亮色走的是 scope 机制(默认 highlight_words),而原生 highlight_word 走的是 region 机制;两者底层渲染逻辑不同,一旦同时启用,经常出现:
- 同一个词被两种颜色叠盖,变成脏灰色
- 滚动时 HighlightWords 高亮闪烁,
highlight_word却稳如磐石 - 关闭
highlight_word后,光标悬停不再触发任何高亮,只剩手动添加的词亮着
建议策略:日志场景下,关掉 highlight_word(设 "highlight_word": false),只留 HighlightWords;平时写代码时再反过来。别试图让两者共存——它们的设计目标本就不兼容:一个是轻量悬停响应,一个是重载式关键词管理。
最后提醒一句:HighlightWords 自 2023 年起就无维护更新,Sublime Text 4 下部分正则边界行为已不可靠。真要长期处理日志,不如导出到专用工具(如 lnav),Sublime 适合看,不适合“分析”。










