ctrl+shift+f(windows/linux)或 cmd+shift+f(macos)是唯一支持跨文件全局搜索的快捷键,其生效需满足三个前提:项目必须通过“project → add folder to project…”加入、where输入框不可为空且需正确填写路径模式(如.或src/)、macos用户须禁用spotlight对cmd+shift+f的占用。

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,否则正则可能错位
替换后文件没变?这不是 Bug,是设计
Replace All in Files 的修改只存在内存里,不触发文件修改标记,也不自动保存:
- 替换后必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K → Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换无效 - 务必先点
Find All,确认结果面板列出全部目标条目,再点Replace All in Files;命中数异常大(如上千)就先暂停 - 如果项目已接入 Git,替换前建议先
git add -A && git commit -m "before global replace",万一出错,git checkout .三秒回滚
真正卡住人的从来不是功能不会用,而是 Where 填错、项目没加载、或者忘了 Save All。这三个点漏掉任何一个,搜索就等于白做。











