Ctrl+Shift+F是Sublime Text项目内全文检索唯一入口,需启用项目模式(File→Open Folder…)、Where填“.”、等待索引完成,并注意macOS Spotlight冲突及插件劫持问题。

Ctrl+Shift+F 是唯一能项目内全文检索的入口
它不查文件名,只查内容;不进项目模式就根本点不动——左下角没显示类似 ~/my-project/ 的路径,面板就是灰的。单文件打开、拖文件进窗口、甚至用 Add Folder to Project… 临时加目录,都不算真正项目模式。
常见卡点:
- macOS 用户常被系统
Spotlight占用Cmd+Shift+F,要去「系统设置 → 键盘 → 快捷键 → Spotlight」里关掉 - 插件(比如旧版
ProjectManager)可能劫持快捷键,可临时禁用验证 - 刚用
File → Open Folder…加载项目后,右下角若显示Indexing…,得等它消失再搜,否则新文件不参与扫描
Where 输入框填什么才真正生效
Where 不是路径补全器,也不是正则编辑区,它是 Shell 风格 glob 过滤器:填错一个字符,搜的就是错的地方。
必须记住的写法:
- 搜整个项目:
.(单个英文点),不是./,也不是留空 - 只搜
src/下所有文件(含子目录):src/,不用加**或./ - 排除干扰目录:
., -node_modules/, -dist/, -build/(逗号分隔,斜杠统一用/) - 限定类型且递归:
src/**/*.ts,但不支持*.(ts|tsx) - 搜未保存的标签页:
open_files是唯一方式,不会出现在.或src/扫描中
搜函数或 API 怎么避免误中
Sublime 是纯文本引擎,fetch 会命中注释、字符串、变量名 isFetching,甚至 refetch。靠默认搜索几乎没法精准定位定义。
实操建议:
- 先点
W(Whole Word)按钮,fetch就不再匹配refetch,但仍能匹配fetch() - 要更严格?启用
.*(正则),写成\bfetch\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 —— 替换不可逆,也没撤销入口。


















