sublime text 原生支持秒级全局文件内容搜索,无需插件;ctrl+shift+f 仅对 file → open folder 加载的项目有效,需确保状态栏显示路径、索引完成、where 框正确填写路径前缀(如 . 或 src/),并注意 whole word 或正则匹配、替换后需手动保存。

Sublime Text 原生就支持秒级全局文件内容搜索,不需要装任何“全局搜索插件”——所谓“安装插件才能全局搜索”,是常见误解。
Ctrl+Shift+F 搜不到内容?先确认项目是否真正加载
Sublime 的 Ctrl+Shift+F(Mac 为 Cmd+Shift+F)只对「已通过 File → Open Folder 加载进侧边栏」的目录生效。它不扫描磁盘、不索引未加入的路径、也不管你双击打开了几个单文件。
- 状态栏左下角没显示类似
~/my-project/的路径?说明没进项目模式,Ctrl+Shift+F面板会灰显或只搜当前标签页 -
右键侧边栏 → Add Folder to Project≠ 真正加载:这只是把路径记进项目配置,不会触发索引;必须用File → Open Folder - 刚加完大目录(比如含
node_modules),右下角显示Indexing…?等它消失再搜,否则新文件、子目录里的内容可能漏掉
Where 框填错一个字符,等于白搜
Where 输入框不是可选项,也不是模糊匹配区——它是路径前缀过滤器,填错就搜不到目标范围。
- 搜整个项目:必须填
.(单个英文点),不是./,也不是留空 - 只搜
src/下所有文件(含src/api/、src/components/):填src/,别写src/*或/src/ - 排除干扰目录:写成
., -node_modules/, -dist/(逗号分隔,斜杠统一用/) - 限定类型且带子目录:可用
src/**/*.ts,但src/*.ts不会匹配src/utils/fetch.ts(因为*不跨层级)
搜函数名总命中 refetch、isFetching?关 Whole Word 或切正则
Sublime 是纯文本引擎,不解析 AST。输 fetch 默认会匹配所有含这串字符的地方,包括注释、字符串、变量名。
- 点搜索面板右上角
W按钮(Whole Word):fetch就不再匹配refetch,但仍能匹配fetch()和fetch: - 要更严格(比如只匹配独立单词 + 后跟括号):启用
.*(正则),写\bfetch\s*\(\),注意括号要转义 - 搜 JS 函数定义:用
^\s*function\s+render\b,Where填*.js;搜 Python 的def render:用^\s*def\s+render\b
替换完不保存?这不是 Bug,是设计
点击 Replace All in Files 后,修改只存在内存里,文件系统无变化,也不会标红提示“已修改”。关掉搜索面板就丢,且无任何确认弹窗。
- 替换前务必先点
Find All,确认结果面板列出全部目标行,避免误替 - 替换后必须手动执行
File → Save All,或快捷键:Ctrl+K松开 →Ctrl+B(Mac 是Cmd+K→Cmd+B)
真正容易被忽略的是:索引不是实时的,新增文件后不手动刷新,Ctrl+Shift+R 或 Ctrl+Shift+F 都看不到;而 Where 框的路径语法看着像 shell glob,其实只是前缀匹配——这点连很多老用户都会踩坑。











