Sublime全局搜索需先打开文件夹而非单个文件,否则无法扫描磁盘;Where框留空等价于项目根目录,右键文件夹“Find in Folder”可自动填入绝对路径;启用Whole Word或正则(如\bfetch\b)避免误匹配;替换后须按Ctrl+K Ctrl+B保存全部,否则丢失更改。

必须先“打开文件夹”,不是打开文件
Sublime 的全局搜索只认「已加载到侧边栏的文件夹」,不认你当前正在编辑的单个 index.js 或刚双击打开的 README.md。如果你只是打开了一个文件,Ctrl+Shift+F 要么灰掉、要么只搜已打开标签页——根本不会扫磁盘。
- 正确做法:菜单栏 File → Open Folder…,选中目标目录(比如
my-project/),确保左侧边栏出现完整文件树 - 状态栏左下角应显示类似
~/my-project/的路径,这才是“项目就绪”信号 - 用
Add Folder to Project可能引入多个根路径,导致搜索范围意外扩大,优先避免
Where 框填什么,决定搜到哪里
Where 不是“默认搜当前文件夹”,它是一条硬性过滤规则;留空 ≠ 当前文件夹,而是等价于 .(当前项目根),但若没开过文件夹,这个 . 可能指向错误位置甚至失效。
- 最稳写法:右键侧边栏中该文件夹名 → Find in Folder,
Where自动填入绝对路径(如/Users/me/my-project/src/) - 更干净可移植的写法:手动填相对路径前缀,如
src/(表示所有路径以src/开头的文件),不是src/*或./src/ - 混用通配:支持逗号分隔,例如
src/, *.py, *.js;但-/node_modules/才能真正排除整个目录,-node_modules会误杀含该字符串的文件名
搜函数调用或 API 名,不开 Whole Word 就容易漏判
搜 fetch 却命中 refetch、prefetch,是新手高频翻车点。这不是关键词选得不好,而是匹配逻辑没对齐语义意图。
- 点击搜索面板右上角的 W 按钮(Whole Word),让
fetch只匹配独立单词(仍可匹配fetch()、fetch;,因为括号和分号是词边界) - 要更严格?启用正则(点
.*按钮),用\bfetch\b,但注意需同时关闭Match case否则大小写敏感 - 搜 Python 的
def main?用正则^def\s+main\b+.*模式,配合^表示行首,避免注释里误中
替换完不保存,改了等于没改
Sublime 的全局替换是内存级操作:替换后文件标签页不标星号、不显“已修改”,Ctrl+S 也只保存当前激活文件——这是最隐蔽、最常被忽略的环节。
- 替换完成后,必须按
Ctrl+K再按Ctrl+B(Save All),缺一不可 - 或者手动执行 File → Save All,否则关掉 Sublime,所有替换内容彻底丢失,且无任何提示
- 高风险重构(如批量改
console.log)前,建议先git stash,替换完git diff确认再提交
真正卡住人的从来不是快捷键记不住,而是 Where 框语义模糊、open_files 这种关键字藏得太深、以及替换后那两下 Ctrl+K Ctrl+B 总被跳过。










