Ctrl+Shift+F/Cmd+Shift+F是Sublime Text全局搜索唯一入口,需项目已加载(File→Open Folder)、索引完成,Where填.搜全项目,替换后必须Save All才生效。

Ctr+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)就是全局搜索的唯一入口,不是菜单里某个隐藏选项,也不是插件开关——它就在键盘上,但必须满足项目已加载这个前提,否则面板灰显或只搜当前文件。
Ctrl+Shift+F 灰显或没反应?你还没进项目模式
Sublime Text 的全局搜索不认“打开过哪些文件”,只认侧边栏是否显示一个真实目录树。单文件双击打开、拖文件进窗口、甚至用 Add Folder to Project 添加路径,都不等于项目已加载。
- 必须通过
File → Open Folder加载根目录,状态栏左下角出现类似~/my-project/的路径才算成功 - 右下角若显示
Indexing…,说明后台正在构建文件索引,等它消失再搜,否则新添加的文件或子目录内容可能被跳过 - Mac 用户注意:
Cmd+Shift+F常被系统 Spotlight 占用,需在「系统设置 → 键盘 → 快捷键 → Spotlight」里禁用 - 检查快捷键是否被覆盖:打开
Preferences → Key Bindings – User,删掉冲突的ctrl+shift+f或cmd+shift+f绑定
Where 输入框填什么?路径不是可选项,是范围控制器
留空 ≠ 搜整个项目,而是可能触发低效扫描(尤其含 node_modules 时);填错一个字符,就等于搜了别的地方。
- 搜整个项目:必须填
.(单个英文点),不是./,也不是空着 - 只搜
src/下所有文件(含子目录):填src/,不用加**或./ - 排除干扰目录:写成
., -node_modules/, -dist/(逗号分隔,斜杠统一用/) - 限定文件类型:如
src/**/*.ts,src/**/*.tsx(支持**,但不支持*.(ts|tsx)) - 搜已打开但未保存的标签页:唯一方式是手动填
open_files
搜函数或 API 名字总误中?Whole Word 和正则要配合用
Sublime 是纯文本引擎,不解析语法。搜 fetch 会命中注释、字符串、refetch,甚至变量名 isFetching。
- 先点右上角
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
替换完为什么文件没变?Save All 不是可选操作
Replace All in Files 把修改存在内存里,不触发文件修改标记,也不自动保存——关掉就清空,且无任何提示。
- 替换后必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K → Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换无效 - 务必先点
Find All,确认结果面板列出了全部目标条目,再点Replace All in Files
最容易被忽略的是索引延迟和 Save All 这两步:刚加完大目录(比如含 node_modules)就搜,或替换完直接关窗口,结果就是“明明搜到了,却改不动”。


















