Sublime全局搜索需先通过Open Folder加载项目,否则Ctrl+Shift+F无效;Where框填路径前缀如src/,非正则;替换后必须手动Save All,否则关闭即丢失。

Sublime 的全局搜索不是“打开文件夹就能用”,它严格依赖项目上下文——没正确加载文件夹,Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)根本不会生效。
必须先 Open Folder,否则搜索范围只有已打开的标签页
你双击打开一个 index.js,然后按 Ctrl+Shift+F,面板灰显、无反应、或只返回空结果——这是最常见卡点。Sublime 不会扫描磁盘找文件,它只搜侧边栏里“可见”的路径。
- 确认左下角状态栏是否显示类似
~/my-project/的路径;没有就说明没进入项目模式 - 关闭所有单文件标签页,用
File → Open Folder…选中项目根目录(比如src/或整个my-app/) - 侧边栏出现完整树形结构,才是生效标志;
Add Folder to Project容易叠加路径,导致搜索混乱,不推荐
Where 框不是 shell,填 src/ 就够了
Where 输入框做的是路径前缀匹配,不是 glob,也不是正则(除非你点了 .*)。填 src/ 就表示“所有路径以 src/ 开头的文件”,自动包含 src/api/index.ts、src/components/Button.vue 等子目录下的文件。
- ✅ 正确写法:
src/、tests/、*.py、config/*.json - ❌ 错误写法:
/src/(会被当字面量)、src*(Windows 不识别)、src/**/*.js(Sublime 不支持双星号递归) - 想只搜 JS 文件?直接填
src/*.js或src/**/*.js是无效的;应填src/,再在File name pattern栏加*.js(如果面板有该字段),或靠file_exclude_patterns过滤
搜函数定义不能只输名字,得加语言特征
Sublime 没有语义解析能力,find in files 是纯文本匹配。搜 render 会命中 console.log("render")、class Renderer、甚至注释里的单词。
- JavaScript:用
^\s*function\s+render\b|\bconst\s+render\s*=\s*function,记得转义括号:console\.log\(\) - Python:输入
^\s*def\s+render\b,勾选.*(正则)和Aa(大小写敏感) - 开
W(Whole Word)按钮可避免fetch匹配到refetch;但更严的边界控制要用正则:\bfetch\b
替换后不手动保存,关掉 Sublime 就全丢
Sublime 的全局替换不会自动标记文件为“已修改”,也不会触发保存提示。所有更改只存在内存里,标签页右上角不显示 *,Ctrl+S 也只保存当前激活文件。
- 替换完成后,必须手动执行
File → Save All,或快捷键Ctrl+K后接Ctrl+B(注意是两步连按) - 忘了这步?关掉再重开,所有替换内容丢失,且毫无警告
- 高风险操作前,建议先
git stash或git commit -m "before global replace";替换完用git diff确认范围再决定是否提交
真正容易被忽略的,是 Where 字段的语义——它不是“搜索位置”,而是“作用域声明”。填错一个斜杠、多加一个星号、或漏掉排除项,都可能让 Replace All 波及 node_modules 或构建产物,而错误往往在运行时才暴露。

















