ctrl+shift+f(win/linux)或cmd+shift+f(macos)是唯一跨文件搜索入口,但必须先通过file→open folder…加载项目根目录使左下角显示路径,where填“.”才搜整个项目,替换后需手动save all。

Ctrl+Shift+F(Win/Linux)或 Cmd+Shift+F(macOS)是唯一能真正跨文件搜内容的入口,但它默认不工作——90% 的“搜不到”问题,根源不是配置错,而是压根没进项目模式。
Ctrl+Shift+F 灰显或点开没反应?先看左下角有没有路径
它只在「项目模式」下激活:左下角状态栏必须显示类似 ~/my-project/ 的路径,且侧边栏有完整树形结构。单文件打开、用 Add Folder to Project 拼凑目录、或插件覆盖快捷键,都会让它失效。
- 关掉所有标签页,重新用
File → Open Folder…选最外层根目录(比如含package.json或src/的那一层) - Mac 用户注意:
Cmd+Shift+F可能被系统 Spotlight 占用,需在「系统设置 → 键盘 → 快捷键 → Spotlight」里关掉 - 检查
Preferences → Key Bindings – User,删掉可能冲突的ctrl+shift+f绑定
Where 输入框填什么才真正搜整个项目?
Where 不是 shell,也不是正则,它是路径前缀匹配器。填错一个字符,就等于搜了别的地方。
- 搜整个项目:必须填
.(单个英文点),不是./,也不是留空 - 只搜
src/下所有文件(含子目录):填src/,不用加**或./ - 排除
node_modules和dist:写成., -node_modules/, -dist/(逗号分隔,斜杠统一用/) - 限定文件类型:如
src/**/*.ts,tests/**/*.tsx(支持**,但不支持*.+(ts|tsx)) - 搜已打开但未保存的标签页:唯一方式是手动填
open_files
为什么搜到了却替换不了?替换后内容“消失”不是 Bug
Sublime 的 Replace All in Files 把修改存在内存里,不触发文件修改标记,也不自动保存——关掉就清空,且无任何提示。
- 替换前务必先点
Find All,确认结果面板列出了全部目标条目 - 再点
Replace All in Files(按钮文字,不是菜单项) - 替换完必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K→Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换无效
搜函数名或 API 调用总误中?别靠裸搜
Sublime 是纯文本引擎,不解析语法。搜 fetch 会命中注释、字符串、refetch,甚至变量名。
- 点右上角
W(Whole Word)按钮,fetch就不再匹配refetch,但仍能匹配fetch() - 要更严格?启用
.*(正则),写成\bfetch\b - 定位 JS 函数定义:
^\s*function\s+render\b或\bconst\s+render\s*=\s*function,记得转义括号:console\.log\(\) - Python 函数:
^\s*def\s+render\b,Where填*.py - 中文或 Unicode 字符搜索前,确认右下角编码是
UTF-8,否则正则可能错位
真正麻烦的从来不是正则怎么写,而是你有没有三秒时间看一眼 .* 图标颜色、扫一遍 Where 路径、点一下 Find All 预览——这三步跳过,后面 git revert 都救不回误改的 node_modules。











