ctrl+p 是唯一真正高效的项目级文件搜索入口,因其支持@、#、:前缀指令,路径自动补全,索引禁用时仍可搜已打开文件;而ctrl+shift+r功能受限且依赖索引,适用场景极少。

Ctr+P 是唯一真正高效的项目级文件搜索入口,其他快捷键要么功能重叠,要么依赖错误前提——用错就卡顿、搜不到、白忙活。
为什么 Ctrl+P 比 Ctrl+Shift+R 更可靠
Ctrl+P 和 Ctrl+Shift+R 都走同一套项目索引,但 Ctrl+P 支持 @(函数)、#(变量/ID)、:(行号)前缀指令,Ctrl+Shift+R 完全不识别这些。输 @init 在 Ctrl+P 里能跳到所有 __init__.py 或 init() 函数;在 Ctrl+Shift+R 里只会当普通文件名搜,结果更少、更不准。
- Ctrl+P 输入
util/会自动补全路径层级,ushe能命中UserHelper.js;Ctrl+Shift+R 对路径模糊匹配弱得多 - 禁用索引(
"index_files": false)后,Ctrl+P 至少还能显示已打开文件,Ctrl+Shift+R 直接不可用 - 真正需要 Ctrl+Shift+R 的场景极少:比如项目里有几十个
init(),你只想筛出所有__init__.py,又不想被函数名干扰
Ctrl+Shift+F 搜内容时 Where 字段必须填对
Ctrl+Shift+F 默认不搜整个项目,留空 ≠ 全局搜索,而是只搜已打开的标签页。它不认 shell 语法,也不解析正则,纯靠路径前缀匹配。
- 搜整个项目:Where 必须填
.(单个英文点),不是./,也不是空着 - 只搜
src/下所有文件(含子目录):填src/,不用加**或./ - 排除
node_modules和dist:写成., -node_modules/, -dist/(逗号分隔,斜杠统一用 /) - 搜已打开但未保存的标签页:唯一方式是手动填
open_files
Ctr+P 搜不到文件?先检查三个硬性条件
90% 的“搜不到”问题,不是快捷键按错,而是 Sublime 根本没把你的目录当项目处理,或索引被静默过滤了。
- 左下角状态栏没显示类似
~/my-project/的路径 → 没加载项目:必须通过File → Open Folder…打开含package.json、src/、manage.py或go.mod的根目录 - 刚添加新子目录(如
utils/)后搜不到 → 索引未更新:按Ctrl+Shift+P→ 输入Refresh Folders回车,不是Rebuild Index - 右下角语法标识显示
Plain Text→ 符号跳转(@、#)基本失效:用Ctrl+Shift+P输入ssjs或sspython切换正确语法 - 被
folder_exclude_patterns或file_exclude_patterns过滤了 → 这些规则对Ctrl+P、Ctrl+Shift+F、Ctrl+Shift+R全部生效,且优先级高于手动指定的 Where 路径
替换完内容“消失”不是 Bug,是没 Save All
Ctrl+Shift+F 的 Replace All in Files 把修改存在内存里,不触发文件修改标记,也不自动保存——关掉就清空,且无任何提示。
- 替换前务必先点
Find All,确认结果面板列出了全部目标条目 - 再点
Replace All in Files(按钮文字,不是菜单项) - 替换完必须手动执行
File → Save All,或快捷键:Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K→Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换无效
最常被忽略的复杂点是排除规则:它们悄悄生效,不报错、不提醒,搜不到文件时第一反应不该是重装插件,而是查 Preferences → Settings – User 里有没有静默过滤的 folder_exclude_patterns。











