Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(macOS)是Sublime Text跨文件搜索唯一需记住的快捷键,调出原生强大搜索面板,默认搜索整个已加载项目,支持glob路径过滤、正则捕获替换及安全范围控制。

直接用 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)
这是唯一需要记住的快捷键——它调出的是真正的跨文件搜索面板,不是当前文件的 Ctrl+F 或 Ctrl+H。很多人卡在第一步,误以为“查找全部”按钮在右键菜单里,或者去插件市场找替代方案,其实原生功能已足够强。
- 面板一打开就默认面向整个项目(前提是已通过
Project → Add Folder to Project加载了目录) -
Find框输入关键词,Replace框填替换内容,Where框留空即搜索全部已加载文件 - 别急着点
Replace All,先按回车或点Find,结果会以可点击列表形式出现在底部,双击任意一行立刻跳转到对应文件和行号
精准控制范围:避开 node_modules、dist 和压缩文件
全局替换最常引发灾难的不是正则写错,而是范围没锁死——比如把 node_modules 里的第三方库也一起改了,导致依赖崩溃。
- 在
Where框中显式排除:输入, -node_modules/, -dist/, -*.min.js - 只搜某类文件更安全:写
src/**/*.ts(Sublime 支持 glob 通配符),或*.py, *.md多类型逗号分隔 - 路径必须用正斜杠
/,即使在 Windows 上;相对路径基于项目根目录,不是当前文件所在路径
用正则捕获组做结构化替换,比如改 JSON 字段或函数调用
纯文本替换只能应付简单场景;一旦涉及“把所有 "id": "123" 改成 "id": 123”,就必须开正则模式。
- 点击查找框旁的
.*图标启用正则;勾选Aa(区分大小写)和Ab(全词匹配)按需开关 - 查找:
"id": "(\d+)"→ 替换:"id": $1(注意:Sublime 不用$1而非\1引用捕获) - 常见陷阱:
.默认不匹配换行,如需跨行匹配,得写(?s)"content": "(.*?)";特殊字符如引号、括号要原样输入,无需额外转义
替换后务必执行 File → Save All 或 Ctrl+K → Ctrl+B
Sublime 不会自动保存被修改的文件——哪怕你点了 Replace All,所有改动都只是内存中的脏状态。标签页右上角出现星号 * 就是未保存提示,但没人盯着每个标签看。
- 最稳妥操作:替换完立刻按
Ctrl+K,松开后再按Ctrl+B(即“全部保存”快捷键) - 如果项目已接入 Git,强烈建议替换前先
git add -A && git commit -m "before global replace",万一出错,git checkout .三秒回滚 - 别依赖“关闭时提示保存”——批量替换后若误点取消,所有更改直接丢弃,且无撤销历史
Where 范围校验、跳过 Find All 预览、跳过 Git 提交,最后在生产环境里 grep 到一堆奇怪的 undefined 或语法错误。










