ctrl+shift+f灰显因未加载项目目录;where填“.”搜全项目,填“src/”搜子目录;whole word和正则需配合使用;replace all后须save all保存。

Ctrl+Shift+F 灰显或点不动?项目根本没加载
Sublime 的全局搜索不支持单文件模式,Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)灰显,90% 是因为没真正进入项目上下文。它只响应「已通过 File → Open Folder… 加载的完整目录树」。
检查两个硬指标:
– 左下角状态栏必须显示类似 ~/my-project/ 的路径
– 侧边栏必须有可展开的树形结构,不是一堆标签页列表
常见错误操作:
– 用 Add Folder to Project… 拼凑路径(不触发索引)
– 双击打开单个文件后直接按快捷键
– 没等右下角 Indexing… 消失就开搜(新文件、子目录内容可能漏掉)
Mac 用户额外注意:Cmd+Shift+F 常被系统 Spotlight 占用,需在「系统设置 → 键盘 → 快捷键 → Spotlight」中关闭;也可检查 Preferences → Key Bindings – User 是否存在冲突绑定。
Where 输入框填错一个字符,搜索就跑偏
Where 不是路径补全器,也不是正则编辑区,它是纯前缀匹配过滤器——填错就等于搜另一个世界。
正确写法:
– 搜整个项目:必须填 .(单个英文点),不是 ./、./src/ 或留空
– 只搜 src/ 下所有文件(含子目录):填 src/,自动递归,不用 src/**/*
– 排除干扰:写成 ., -node_modules/, -dist/(逗号分隔,斜杠统一用 /)
– 只搜已打开但未保存的标签页:唯一可靠值是 open_files
错误写法后果:
– 填 /src/:Windows 下会被当字面量处理,路径错位
– 填 src/*.js:不会匹配 src/utils/fetch.js(* 不跨层级)
– 留空:默认只搜当前视图里的文件,不是整个项目,也容易卡死
搜 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\(\) 也当普通字符串处理,找不到任何调用
– 大小写敏感没关:Aa 按钮灰色时,Render 和 render 被视为不同词
替换完内容“消失”?你没执行 Save All
Replace All in Files 的修改全部存在内存里,不触发文件修改标记,也不自动保存——关掉面板、切走再回来,所有改动清空,且无任何提示。
必须手动执行:
– File → Save All
– 或快捷键:Ctrl+K 松开 → Ctrl+B(macOS 是 Cmd+K → Cmd+B)
关键提醒:
– Ctrl+S 只保存当前激活文件,哪怕你替换了 20 个文件,它也只存那一个
– 替换前务必先点 Find All,确认结果列表包含且仅包含目标行,避免误替 node_modules/ 或 dist/ 里的内容
– 如果 Where 框里误写了 . 却没排除 node_modules/,替换后可能污染依赖包,恢复成本极高











