Where框填“.”(单个英文点)才真正支持多词并行,需启用正则(点.*图标),用(login|auth|token)等语法匹配,而非在Where中填多个路径或通配符。

Ctrl+Shift+F 的 Where 框填什么才真正支持多词并行?
Where 框不是写正则的地方,也不是 shell glob,它只做路径前缀匹配。想让多个关键词在同一个搜索里生效,得靠正则表达式本身,而不是靠 Where 填多个路径。
常见错误是往 Where 里塞 src/, test/ 或 *.js, *.ts——这不会触发“多词查找”,只会让 Sublime 当成非法路径忽略或报错。
- 搜整个项目:Where 填
.(单个英文点),不是./,也不是留空 - 限定文件类型:用
src/**/*.js这种形式,逗号分隔的排除项要加-前缀,比如src/**/*, -node_modules/, -dist/ - 多词并行必须启用正则:右下角
.*图标要点蓝,否则login|auth|token就当字面字符串匹配
正则里怎么写“匹配 A 或 B 或 C”才不漏不滥?
用 | 是对的,但括号、转义、单词边界这些细节一错,结果就不可控。Sublime 的正则引擎不支持 \b 在中文或特殊字符前后稳定工作,所以得手动加固。
- 安全写法:
\b(login|auth|token)\b→ 仅匹配独立单词,避免命中prelogin或authz - 松散匹配(如日志关键字):
(error|warn|fatal),不加\b,但勾选Aa(大小写敏感)避免误中Error - 含点号/括号的字面量:比如搜
console.log,得写console\.log,否则.会匹配任意字符 - 跨行匹配必须加
(?s)前缀,否则fetch.*catch找不到中间有换行的代码块
为什么 Find All 出来全是高亮,却没法批量编辑?
高亮 ≠ 光标。Sublime 的 Find All 只是把所有匹配位置标记出来,不自动创建可编辑光标。想改内容,得把高亮转成多光标。
- 先按
Ctrl+F输入正则,点Find All(或回车)→ 此时只有高亮 - 再按
Ctrl+Alt+G(Windows/Linux)或Ctrl+Cmd+G(macOS)→ 所有高亮位置变成独立光标 - 如果按了没反应,检查是否还在正则模式:
.*图标必须是蓝色;若灰色,Ctrl+Alt+G会退化为普通全选 - 想跳过某几处?按
Ctrl+K再按Ctrl+D,当前光标所在匹配项会被忽略,光标移向下一处
多词替换后怎么确认没改错地方?
Sublime 不做语义分析,Replace All in Files 是纯文本替换。搜 id 改成 userId,JSON 字符串里的 "id": 123 和变量名 const id = 都会中招。
- 执行
Replace All前,务必先点Find All,看底部面板列出的匹配项数量和上下文是否合理 - 关键字段建议加单词边界:
\bid\b → \buserId\b,比直接搜id安全得多 - 改完不自动保存:必须手动按
Ctrl+Shift+S或菜单File → Save All,否则关掉窗口就丢 - 大项目重构前,先
git stash或备份整个目录——Sublime 没“替换撤销”功能,Ctrl+Z 只对当前文件有效
.* 开关决定怎么解释正则,而 Find All + Ctrl+Alt+G 这两步缺一不可才能落地编辑。漏掉任一环,看起来像功能失效,其实是条件没凑齐。


















