sublime text全局搜索需启用项目模式并正确配置where路径:左下角显示项目路径,where填“.”搜整个项目,替换后须手动save all。

Sublime Text 本身没有叫 Search in Project 的独立插件或功能——它原生的跨文件搜索就是 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS),但这个功能必须在「项目模式」下才能真正搜整个项目。所谓“安装 Search in Project”,其实是误传;你不需要装插件,只需要让原生功能正确启用。
为什么 Ctrl+Shift+F 灰显或点开没结果?
这不是快捷键坏了,而是 Sublime 根本没识别到你在操作一个项目。
- 左下角状态栏必须显示类似
~/my-project/的路径,否则它只当你是打开了几个零散文件 - 不能靠
Add Folder to Project拼凑目录——容易导致路径叠加、范围错乱 - 必须关掉所有标签页,用
File → Open Folder…选中最外层根目录(比如含package.json或src/的那一层) - macOS 用户注意:
Cmd+Shift+F可能被系统 Spotlight 占用,需在「系统设置 → 键盘 → 快捷键 → Spotlight」里禁用
Where 输入框填什么才真正搜整个项目?
Where 不是 shell,也不是正则,它是路径前缀匹配器。填错一个字符,就等于换了搜索范围。
- 搜整个项目:必须填
.(单个英文点),不是./,也不是留空 - 只搜
src/下所有文件(含子目录):填src/,不用加**或./ - 排除
node_modules和dist:写成., -node_modules/, -dist/(逗号分隔,斜杠统一用/) - 限定文件类型:如
src/**/*.ts、tests/**/*.tsx(支持**,但不支持*.(ts|tsx)) - 搜已打开但未保存的标签页:唯一方式是手动填
open_files
替换后内容“消失”不是 Bug,是没保存
Replace All in Files 把修改存在内存里,不触发文件修改标记,也不自动保存——关掉就清空,且无任何提示。
- 替换前务必先点
Find All,确认结果面板列出了全部目标条目 - 再点
Replace All in Files(按钮文字,不是菜单项) - 替换完必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K→Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换无效
最容易被忽略的一点:Where 填 . 后,如果项目里有大量二进制文件(如 node_modules、图片、压缩包),搜索会卡顿甚至失败。这时得主动排除,或者在 Preferences → Settings 里加 "index_files": false 关掉实时索引干扰——否则不是功能不行,是它在硬读不该读的文件。











