Sublime Text批量替换需用Ctrl+Shift+F跨文件搜索,必须先Open Folder加载项目、Where填.、点开.*正则开关、先Find All预览再Replace All,最后务必Save All,否则修改不生效且不可恢复。

Sublime Text 批量替换不是 Ctrl+H 点一下 Replace All 就完事的事——它默认只改当前文件、不认正则、不自动保存,直接硬上大概率改错 console.log 字符串里的内容,或漏掉没打开的文件。
必须用 Ctrl+Shift+F(或 Cmd+Shift+F)打开跨文件面板
按 Ctrl+H 只作用于当前文件可见区域;想扫整个项目,得用 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)。如果面板灰显或 Where 框只显示 Open Files,说明还没加载项目:必须先通过 File → Open Folder… 加载完整目录,侧边栏出现树形结构才算生效。
Where 框填 .,正则开关点 .* 图标
Where 框里填 .(仅一个英文点),表示搜索整个已加载项目。填空 = 只搜已打开标签页,填 ./src 可能误扫系统路径,别这么写。
- 右下角
.*图标必须点成蓝色,否则\d+、^import全当普通字符串处理 - 要匹配换行符,得额外勾选
. matches newline(或按Alt+.) -
Ctrl+F、Ctrl+H、Ctrl+Shift+F三个面板的.*开关彼此独立,每个都得单独点开
先点 Find All 预览,再点 Replace All
输完查找和替换内容后,务必先点 Find All。底部面板会列出所有匹配项(含文件路径、行号、上下文),你可以:
- 双击任意一项,跳转到对应位置人工确认是否该改
- 发现误匹配?微调正则或修改
Where范围后重来 - 匹配数量远超预期?大概率正则太宽,比如
user_name没加边界控制,连username也中招
Replace All 后必须手动 Save All
点完 Replace All,所有目标文件标签页出现星号 * 是正常现象——Sublime 只把变更缓存在内存里,没写入磁盘。
- 必须执行
File → Save All,或快捷键:Ctrl+K→Ctrl+B(Windows/Linux),Cmd+K→Cmd+B(macOS) - 不保存就关窗口或崩溃,改动彻底丢失,没有撤销历史可回溯
- 大文件(>10MB)可能被跳过;非 UTF-8 编码文件(如 GBK)默认不参与替换,需先右键转码
最常被忽略的其实是“预览”和“保存”这两步——前者防误改,后者防丢数据。正则再准,没点 Find All 就 Replace All,等于闭眼开车;改完不 Save All,等于白干。


















