要查整行含error的日志需用正则^.error.$并配合Ctrl+L选中,而非仅输error;跨文件搜索须用Ctrl+Shift+F并勾选正则,结果需手动清理前缀;复杂条件宜用反向删除法。

必须显式写 ^ 和 $,否则只高亮关键词本身,不是整行。
为什么 error 查不到整行?
Sublime 默认不扩展匹配范围。输入 error 后点 Find All,光标只会停在每个 error 字符串开头,不会选中整行——这是最常卡住的一步。
- 正确写法:
^.*error.*$:^锚定行首,$锚定行尾,.*匹配任意中间内容 - 关键词含正则元字符(如
.、*、[)必须转义:file\.log,否则会被当语法解析 - 大小写敏感默认开启;想忽略,点查找框左侧的
Aa按钮 - 如果只是临时查字面量且不含元字符,可不勾
Regular Expression,避免误转义
Ctrl+L 是选中整行的关键动作
Find All 只是把光标放在每行匹配起始位置,真正选中整行要靠后续操作。
- 输完正则、点
Find All后,**立刻按Ctrl+L(Windows/Linux)或Cmd+L(macOS)** - 此时所有匹配行被完整选中,包括行首空格和换行符
- 若文件 >10MB,
Ctrl+L可能无响应;此时应切到Ctrl+Shift+F跨文件方案 - 别用
Ctrl+A全选——它会选中整个文件,不是目标行
跨文件提取用 Ctrl+Shift+F,但前缀要手动清理
单文件 Find All + Ctrl+L 无法聚合多个文件结果,真要批量扫项目必须用 Find in Files。
- 按
Ctrl+Shift+F,填关键词,**务必勾选Regular Expression**(哪怕你只输error,不勾它会失效) -
Where框必须手动指定范围:./logs/**/*.log或src/;留空 = 只搜当前文件 - 搜索完成后,结果页格式为
filename:line_num:content;右键 →Copy All - 粘贴后需手动删前缀:用
Ctrl+H替换^[^:]+:\d+:为空(注意 Windows 用\r?\n,macOS/Linux 用\n)
复杂条件别硬写正向正则,试试反向删除
当要保留“含 api/ 且不含 /test”的行时,正向写 ^(?=.*api\/)(?!.*\/test).*$ 容易出错;不如直接删掉不要的。
- 打开
Ctrl+H,启用正则,查找:^(?!.*api\/).*\r?\n(Windows)或^(?!.*api\/).*\n(macOS/Linux) - 替换框留空,点
Replace All,剩下的就是含api/的行 - 这个技巧适合多条件组合,但操作不可逆——务必先
Ctrl+Z备份或另存为副本 - 删完可能残留空行,可用
Ctrl+Shift+P→ 输入Remove Empty Lines清理
真正容易被忽略的是:Sublime 所有“提取”本质都是“选中→复制”,它不生成新文件、不自动去重、不处理编码差异。操作前统一换行符(LF)、确认文件编码为 UTF-8,否则粘贴后可能出现乱码或段落塌陷。

















