全局搜索卡顿主因是Sublime默认扫描所有文件(含node_modules等),应关闭实时索引、清理缓存、精准填写Where路径、手动开启正则/大小写/全字匹配,并确认替换后手动保存。

为什么全局搜索卡住或没反应?
90% 的卡顿不是因为文件多,而是 Sublime 默认会扫描所有可读文件,包括 node_modules、package-lock.json、图片、二进制文件,甚至隐藏的 .git 目录。它不跳过,硬读,内存涨、UI 冻、索引卡在 Indexing… 状态是常态。
- 必须关掉实时索引干扰:
"index_files": false加到Preferences → Settings里(尤其含大node_modules的项目) - 删缓存目录:Linux/macOS 删
~/.config/sublime-text-3/Index/,Windows 删%LOCALAPPDATA%\Sublime Text 3\Index\ - 避免用
*或留空Where—— 这会让 Sublime 尝试遍历整个磁盘可见路径,不是“搜全项目”,是裸奔
Where 输入框怎么填才又快又准?
Where 是速度控制阀,不是可选项。填错一个字符,就等于让引擎去搜另一个世界,还自带拖慢效果。
- 只搜源码:写成
src/**/*.ts, src/**/*.js(逗号分隔,双星号**才递归子目录) - 排除干扰:用
., -node_modules/, -dist/, -build/(减号开头,斜杠统一用/,Windows 下也一样) - 别写
./src/或/src/——/开头会被当字面路径,./在 Sublime 里无意义 - 搜已打开未保存的标签页?唯一有效值是
open_files,不是*也不是current
正则和大小写开关为什么总失效?
这三个按钮(.*、Aa、W)的状态不跨会话保存,每次打开 Ctrl+Shift+F 都是默认关闭。忘了点,\bfetch\b 就当普通字符串搜,funcw+ 就真找 funcw+。
-
.*图标必须是蓝色才生效;查找和替换面板的正则开关是独立的,替换框里写$1前,得单独点一次替换区右下角的.* - 大小写不靠正则内联标志(
(?i)不支持),必须点Aa按钮切换 - 全字匹配(
W)等价于\bquery\b,比手动写正则更轻量,适合改变量名防误中user_id
替换完内容丢了?这不是 Bug
所有 Replace All in Files 操作都只存在内存里,不触发修改标记、不自动保存、不进撤销栈、关掉面板就清空。你看到“已替换 27 处”,不代表文件系统有任何变化。
- 替换前务必先点
Find All,确认右下角数字合理,且预览列表第一行不是node_modules/axios/index.js - 替换后必须手动执行
File → Save All,或快捷键:Ctrl+K松开 →Ctrl+B(macOS 是Cmd+K→Cmd+B) -
Ctrl+S只保存当前激活标签页,对批量替换完全无效
.* 图标颜色、扫一遍 Where 路径、点一下 Find All 预览——这三步跳过,后面 Git revert 的时间够重写两遍逻辑。


















