Ctrl+Shift+F(Windows/Linux)或Cmd+Shift+F(macOS)是唯一全局搜索快捷键,须在项目模式下使用:左下角显示路径、Where填“.”、禁用Spotlight冲突及插件劫持,替换后需手动Save All。

Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)是唯一能触发真正全局搜索的快捷键,其他组合都不行。 它不是“查找当前文件”的延伸,而是独立功能,必须在项目模式下才激活——单开一个 .js 文件就按这个键,面板会灰显或返回空结果,这不是快捷键坏了,是前提没满足。
为什么 Ctrl+Shift+F 灰显或没反应?
根本原因只有一个:Sublime 还没进入「项目模式」。它不认单文件、不认 Add Folder to Project 叠加的路径,只认通过 File → Open Folder… 加载的完整目录。
- 左下角状态栏没显示类似
~/my-project/的路径?说明没加载项目,快捷键必然失效 - Mac 用户要检查系统级冲突:
Cmd+Shift+F默认被 Spotlight 占用,需在「系统设置 → 键盘 → 快捷键 → Spotlight」里关掉 - 插件可能劫持快捷键,可临时删掉
Preferences → Key Bindings – User里所有含ctrl+shift+f或cmd+shift+f的自定义绑定
Where 输入框填什么才真正搜全项目?
Where 不是可选项,而是决定搜索范围的核心字段。留空 ≠ 搜全部,反而可能退化成只扫已打开标签页(open_files),或者触发低效扫描。
- 搜整个项目:
.(就一个英文点,不是./,也不是空) - 只搜
src/下所有文件(含子目录):src/(结尾带正斜杠) - 排除
node_modules和dist:., -node_modules/, -dist/(逗号分隔,统一用/) - 限定类型且排除:
src/**/*.ts, -node_modules/(**支持,但*.(ts|tsx)不支持)
替换后内容“消失”是怎么回事?
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只保存当前激活文件,对其他已改未存的文件完全无效
最常被忽略的一点:搜索结果双击打不开文件,往往是因为 Where 填了错误路径前缀,导致 Sublime 记录的文件路径和实际磁盘结构不一致——它不是 UI Bug,而是路径解析错位。填 . 前先确认你确实是用 File → Open Folder… 打开了项目根目录(比如含 package.json 或 src/ 的那一层),而不是随便点进某个子文件夹。


















