Sublime Text查找替换“没反应”主因是未启用正则模式、未通过Ctrl+Shift+F进入项目全局搜索、或替换后未执行Save All;需确认右下角.*图标亮起、Where填.、保存用Ctrl+K→Ctrl+B。

Sublime Text 查找替换“没反应”,八成不是正则写错了,而是根本没进正则模式、没开跨文件搜索入口,或替换了却没保存——功能全在,只是被默认设置和路径逻辑卡住了。
Ctrl+H 替换面板点 Replace All 没效果?先看右下角 .* 亮了没
默认状态下,Ctrl+H 是逐字替换,.* 图标不亮就等于关着正则引擎。哪怕你写了 (\d+) 或 ^R$,它也当普通字符串搜,自然找不到、不替换。
- 必须手动点击查找面板右下角的
.*按钮(亮起为蓝色),才算启用正则模式 - 查找
url\("([^"]*)"\)却没匹配?先确认.*是开着的,再检查括号是否转义(\(和\)) - 想删空行但
^R*$没反应?关闭. matches newline(右下角第二个图标),否则^和$失效
Ctrl+Shift+F 全局替换点了没反应?你可能根本没进项目模式
Ctrl+Shift+F 面板灰显、Where 栏不可编辑,说明 Sublime 当前只打开了单个文件,没加载任何文件夹——它压根不支持“无项目全局搜索”。
- 必须通过
File → Open Folder…加载项目根目录,状态栏出现类似~/my-project/的路径才生效 -
Where栏填空 ≠ 整个项目,等价于“只搜已打开的标签页”;真正表示整个项目的写法是单个英文点:. - 排除
node_modules要写成:., -node_modules/, -dist/(注意统一用正斜杠/,Windows 上也一样)
替换了几十个文件,一关窗口全没了?Save All 不是建议,是强制步骤
Sublime 的 Replace All in Files 所有修改都存在内存里,不触发文件修改标记,也不会自动保存。关掉未保存的标签页,改动直接丢弃,且无任何提示。
-
Ctrl+S只保存当前激活文件,哪怕你改了 50 个文件,它也只存那一个 - 必须执行
Ctrl+K松开 → 再按Ctrl+B(Windows/Linux)或Cmd+K→Cmd+B(macOS)完成全部保存 - 高风险操作前务必
git commit,出错时git checkout .三秒回滚
中文、换行符、控制字符怎么老是搜不到?显示空白符 + 显式 Unicode 才靠谱
肉眼看不见 \r、\t、零宽空格、全角空格,靠猜正则只会越调越乱。得让它们“露出来”,再针对性写规则。
- 右下角点击
LF/CRLF→ 选Show Whitespaces,立刻看到¶(\n)、^M(\r)、→(\t)、·(空格) - 查中文别依赖
\w(它不认汉字),用[\u4e00-\u9fff]或(?u)\p{Han} - 清理孤立
\r:开启正则后搜\r(?!\n),替换留空;别用\r\n直接替\n,容易误伤字符串内合法内容
真正卡住人的从来不是正则语法多难,而是 Sublime 对模式开关、路径语义、保存机制这些隐性约束——每次替换前花 10 秒确认 .* 亮了没、Where 填对没、右下角显示的是 LF 还是 CRLF,比事后满世界找哪行丢了内容快得多。











