ctrl+shift+f(windows/linux)或 cmd+shift+f(macos)是唯一支持跨文件全局搜索的快捷键,其生效需满足三个前提:项目必须通过“project → add folder to project…”加入、where输入框不可为空且须正确填写路径(如.或src/)、macos用户需禁用spotlight冲突;where控制搜索范围,填错将静默搜错位置;替换后必须手动save all,否则修改丢失。

Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)是唯一能跨文件搜索文本的快捷键,其他组合如 Ctrl+F、Ctrl+P、Alt+F3 都不满足“全局内容查找”需求。
为什么 Ctrl+Shift+F 没反应或搜不到结果?
这不是快捷键失效,而是三个硬性前提没满足:
- 项目必须已通过
Project → Add Folder to Project…加入侧边栏——仅用File → Open Folder不行,左下角状态栏必须显示类似~/my-project/的路径 -
Where输入框不能留空:留空 ≠ 全局搜索,反而可能扫描整个磁盘(尤其含node_modules时),正确写法是填单个英文点:. - macOS 用户需检查系统级冲突:
Cmd+Shift+F默认被 Spotlight 占用,要去「系统设置 → 键盘 → 快捷键 → Spotlight」里关掉;插件也可能劫持该键,可查Preferences → Key Bindings – User
Where 输入框怎么填才精准控制范围?
Where 是路径控制器,不是可选项,填错一个字符就等于搜了别的地方:
- 搜整个项目:
.(就一个点,不是./或*) - 只搜
src/下所有文件(含子目录):src/(不加**或./) - 排除干扰目录:
., -node_modules/, -dist/, -build/(逗号分隔,斜杠统一用/,Windows 也不例外) - 限定文件类型:
src/**/*.ts,src/**/*.tsx(支持 glob,不支持*.(ts|tsx)) - 搜已打开但未保存的标签页:
open_files
搜函数或 API 总误中?关键在匹配模式
Sublime 是纯文本引擎,fetch 会匹配注释、字符串、变量名 isFetching、甚至 refetch:
- 开启
Match Whole Word(快捷键Alt+Enter):fetch就不再匹配refetch,但仍能匹配fetch() - 要更严格?启用
Regular Expression(点.*图标),写成\bfetch\b(\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,否则正则可能错位
Replace All in Files 后文件没变?这不是 Bug
替换操作把修改存在内存里,不触发文件修改标记,也不自动保存——关掉就清空,且无任何提示:
- 替换后必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K → Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换无效 - 务必先点
Find All,确认结果面板列出了全部目标条目,再点Replace All in Files
真正容易被忽略的是 Where 输入框的语义——它不是过滤器,而是路径指令;填错或留空不会报错,只会静默搜错地方。很多人反复试了十几分钟才发现自己一直搜的是根目录下的 node_modules,而不是项目源码。











