ctr+shift+f/cmd+shift+f是唯一全局搜索快捷键,仅在file→open folder…加载完整目录树且状态栏显示路径时生效;where填“.”搜全项目,填“src/”递归搜子目录,排除用“., -node_modules/, -dist/”;需开启whole word或正则模式精确匹配;替换后必须save all。

Ctr+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)是唯一能触发全局内容搜索的快捷键,但它只在项目模式下生效——没加载目录树,这个快捷键就只是个灰色摆设。
Ctrl+Shift+F 灰显或点不动?先确认项目是否真正加载
Sublime 的全局搜索不认单文件,也不认“Add Folder to Project…”拼凑的路径。它只响应通过 File → Open Folder… 加载的完整目录树。
- 左下角状态栏必须显示类似
~/my-project/的路径,不是空的、也不是只显示文件名 - 侧边栏必须有可展开的树形结构,而不是一堆标签页图标堆在一起
- Mac 用户额外检查:系统级
Cmd+Shift+F是否被 Spotlight 占用(需进「系统设置 → 键盘 → 快捷键 → Spotlight」关闭) - 检查
Preferences → Key Bindings – User里有没有冲突绑定,比如误加了{"keys": ["ctrl+shift+f"], "command": "noop"}
Where 输入框填什么?填错一个字符就搜不到
Where 不是路径补全器,也不是正则编辑区,它是前缀匹配过滤器。留空、多加斜杠、混用星号,都会让搜索失效。
- 搜整个项目:必须填
.(单个英文点),不是./、./src/,更不能留空 - 只搜
src/下所有文件(含子目录):填src/,自动递归,不用写src/**/* - 排除干扰:写成
., -node_modules/, -dist/(逗号分隔,斜杠统一用/) - 只搜已打开但未保存的标签页:唯一有效值是
open_files,其他写法都不行 - 填
/src/或src/*.js会导致匹配失败,前者在 Windows 上被当字面量处理,后者*不跨层级
搜 fetch() 却命中 refetch?Whole Word 和正则没配对
Sublime 是纯文本引擎,不解析 AST。默认输入 fetch 会匹配注释、字符串、变量名、函数调用——全中招。
- 点右上角
W(Whole Word)按钮:fetch就不再匹配refetch,但仍能匹配fetch()和fetch: - 启用
.*(正则模式)后,写\bfetch\s*\(\):用\b锚定单词边界,\(和\)转义括号,\s*允许中间有空格 - JS 函数定义可用
^\s*function\s+render\b;Python 用^\s*def\s+render\b;中文变量名前务必确认右下角编码为UTF-8 - 没点蓝的
.*图标时,哪怕你写了console\.log\(\),也只会当普通字符串处理,找不到任何调用
替换完内容“消失”?你漏了 Save All
Sublime 的 Replace All in Files 把修改存在内存里,不触发文件修改标记,也不自动保存——关掉面板或切走窗口,改动就清空,且无任何提示。
- 替换前务必先点
Find All,确认结果面板列出了全部目标条目 - 替换后必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K→Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换完全无效 - 若项目含大量文件,建议先在
Where中限定后缀(如src/**/*.ts)并排除-node_modules/,否则容易卡死
最容易被忽略的是索引滞后和排除规则叠加:刚加完新文件夹,右下角还显示 Indexing… 就开搜,必然漏文件;而 folder_exclude_patterns 和 Where 输入框里的 -node_modules/ 是双重生效的,不是二选一。











