ctrl+shift+f(windows/linux)或cmd+shift+f(macos)是唯一全局搜索入口,但必须进入项目模式:状态栏显示路径、侧边栏为树形结构,且where填“.”才搜全项目;便携版需等待indexing完成并手动save all。

Ctrl+Shift+F 能用,但必须进项目模式
便携版和安装版在搜索逻辑上完全一致,Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)是唯一入口,但快捷键灰显或点开无结果,90% 是因为没真正加载项目。便携版不自动注册系统路径,更依赖手动操作。
确认是否已进项目模式:看左下角状态栏是否显示类似 ~/my-project/ 的路径;侧边栏是否为完整树形目录(不是仅有一堆标签页)。双击打开单个 .js 文件、或拖文件进窗口,都不算项目模式。
- 正确做法:关掉所有标签页 → File → Open Folder… 选中含
package.json或src/的根目录 - 便携版首次加载大项目时,右下角会显示
Indexing…,等它消失再搜,否则新文件不参与扫描 - 别用 Add Folder to Project —— 它容易叠加路径,导致
Where匹配错位,尤其多级嵌套时
Where 输入框填什么?便携版不认相对路径缩写
Where 是路径前缀匹配器,不是 shell glob,也不是正则(除非你点了 .*),填错一个字符就搜不到。便携版对路径斜杠更敏感,./src/ 或 /src/ 在 Windows 下可能完全失效。
- 搜整个项目:必须填
.(单个英文点),不是./,不是空着,更不是.\ - 只搜
src/下所有文件(含子目录):填src/,自动递归,不用写src/**/*(Sublime 不识别) - 排除
node_modules/和dist/:写成., -node_modules/, -dist/(逗号分隔,短横开头,斜杠结尾) - 只搜已打开但未保存的标签页:
Where必须手动填open_files,这是唯一可靠方式
搜得到但替换后没保存?便携版不会自动写磁盘
便携版同样遵循“替换存在内存、不触发修改标记”的设计。点了 Replace All in Files 后,所有更改都留在内存里,标签页右上角不出现 *,Ctrl+S 只保存当前激活文件,关掉 Sublime 就全丢,且无任何提示。
- 必须手动执行 File → Save All,或用快捷键:
Ctrl+K松开 → 再按Ctrl+B(macOS 是Cmd+K→Cmd+B) - 高风险批量替换前(如改
console.log),建议先运行git stash;替换完用git diff确认范围,再决定是否提交 - 便携版若放在 U 盘或网络盘,Save All 时可能因 I/O 延迟卡顿,耐心等右下角状态栏提示“Saved N files”
为什么搜中文或 console.log() 总不对?编码和正则开关要盯紧
便携版默认编码继承自系统,但新建文件或从剪贴板粘贴时可能误设为 GBK 或 ISO-8859-1,导致中文搜索失败或正则错位。另外,.* 图标是独立开关,查找和替换面板各有一个,必须分别点蓝。
- 搜中文前:确认右下角编码显示为
UTF-8;如果不是,右键状态栏 → Reopen with Encoding → UTF-8 - 搜
console.log():查找框填console\.log\(\),同时确保查找面板的.*图标为蓝色;若只点替换面板的.*,$1 仍不会生效 - 跨行匹配(如 JSON 中的多行字符串):必须加
(?s)前缀,例如(?s)"content": "(.*?)",否则foo.*bar永远找不到换行符 - 删空行别用
^\s*$——\s在 Sublime 里会匹配换行符,可能破坏文件末尾结构;改用^[ \t]*$











