Ctrl+Shift+F/Cmd+Shift+F需项目模式激活且Where填“.”才全局搜索,替换后须手动Save All。

Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)是唯一能触发真正全局搜索的快捷键,但直接按它没反应、搜不到、结果为空——几乎全是项目未就绪或 Where 填错导致的,不是快捷键坏了。
为什么 Ctrl+Shift+F 灰显或点不开?
它只在「项目模式」下激活,单文件打开、拖文件进窗口、甚至用 Add Folder to Project… 临时加目录,都不算真正进入项目模式。
- 看左下角状态栏:必须显示类似
~/my-project/的路径,没有 → 还没加载项目 - 看侧边栏:必须有完整树形目录结构,只有标签页列表 ≠ 项目已加载
- 正确做法:关掉所有标签页,用
File → Open Folder…选中项目根目录(比如src上一级),等右下角Indexing…消失再操作 - macOS 用户额外检查:
Cmd+Shift+F常被系统Spotlight占用,要去「系统设置 → 键盘 → 快捷键 → Spotlight」里关掉 - 插件也可能劫持该快捷键,可打开
Preferences → Key Bindings – User检查并删掉冲突项
Where 输入框填什么才真正搜整个项目?
Where 是路径前缀匹配器,不是 glob,也不是正则(除非你点了 .* 图标),填错一个字符,搜的就是错的地方。
- 搜整个项目:填
.(单个英文点),不是./,也不是留空 - 只搜
src/下所有文件(含子目录):填src/,自动递归,不用写src/**/* - 排除干扰目录:写成
., -node_modules/, -dist/, -build/(逗号分隔,斜杠统一用/) - 限定文件类型:如
src/**/*.ts,src/**/*.tsx,不支持*.(ts|tsx) - 搜已打开但未保存的标签页:必须手动填
open_files,这是唯一可靠方式
搜函数名总误中,怎么精准匹配?
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 填 . 和替换后手动 Save All —— 这两点出错,前面所有操作等于白做。


















