alt+r(win/linux)或 cmd+alt+r(macos)是切换查找/替换面板正则模式的唯一快捷键,仅控制 .* 图标开关,不执行搜索;图标变蓝才生效,且查找与替换的正则开关相互独立。

Alt+R(Win/Linux)或 Cmd+Alt+R(macOS)是唯一有效的快捷键
Sublime Text 不会自动启用正则模式,无论你输的是 \d+ 还是 ^$,只要右下角的 .* 图标没亮起,就全当普通字符串处理。快捷键只是切换开关,不是“执行搜索”的快捷方式——它只控制查找面板是否进入正则引擎。
Windows/Linux 用户按 Alt+R;macOS 用户必须按 Cmd+Alt+R(注意不是 Cmd+R,后者是重载文件)。按下后,查找面板右下角的 .* 图标会从灰色变为蓝色高亮,这才是生效标志。
容易踩的坑:
- 快捷键没反应?先确认焦点在查找面板内(不是编辑区、不是替换面板),且当前是「查找」标签页(不是「替换」或「全部查找」)
- 按了但图标没变蓝?可能是快捷键被输入法或系统级工具劫持,可临时切英文输入法再试
- 按完立刻输
console\.log却不匹配?别忘了小括号、点号这些元字符要转义,console.log在正则里得写成console\.log
查找和替换的正则开关完全独立,不能共用
你在查找面板按 Alt+R 启用了正则,不代表替换面板也开了。Ctrl+H 打开替换面板后,右下角的 .* 图标仍是灰色的——必须单独再点一次,或再按一遍 Alt+R(macOS 同理再按 Cmd+Alt+R)。
这个设计导致最常见错误:(\w+) 能正常高亮,但替换栏填 $1 却原样输出。原因就是:查找开了正则,替换没开,$1 被当字面量处理了。
实操建议:
- 每次打开替换面板(
Ctrl+H),第一件事就是看右下角.*是否已亮起;不亮就立刻按快捷键 - 捕获组引用只支持
\1、\2(旧版兼容性好),新版也支持$1,但前提是替换面板的正则开关已开启 - 想测试分组是否捕获成功?先在查找框输带括号的表达式(如
"([^"]*)"),再进替换框填\1,点 Replace All 看结果
跨行匹配要额外开 .\n 开关,Alt+. 是快捷键
. 在 Sublime 默认不匹配换行符,所以 a.b 永远不会匹配 a\nb。很多人写 "(.*?)" 想提取引号内容,结果只拿到第一行——不是正则错,是 . 没权限跨行。
启用方式有两种:
- 点击查找面板左下角的
.\n图标(显示为一个带换行符的点) - 快捷键:
Alt+.(Win/Linux)或Cmd+Alt+.(macOS)
注意:(?s) 前缀在 Sublime 中虽可用,但不如直接开 .\n 直观稳定;大文件慎用跨行匹配,容易卡顿甚至假死。
别依赖快捷键盲操作,图标状态才是唯一可信依据
快捷键可能被覆盖、被吞、或与插件冲突,而右下角的 .* 和 .\n 图标状态永远真实反映当前模式。哪怕你刚按了 Alt+R,也请抬眼确认它是否真的变蓝了。
真正容易被忽略的细节是:全局搜索(Ctrl+Shift+F)里的正则开关也是独立的,而且它的 .* 位置可能在面板底部右侧,和普通查找面板略有不同。每次换搜索场景,都得重新确认图标状态——这是 Sublime 正则工作流里最不可跳过的一步。











