alt+f3(windows/linux)或ctrl+cmd+g(macos)全选单词所有匹配项,但光标必须位于单词字母内部;若停在符号、空格或单词外则失效,且受whole word(w)、大小写(aa)等状态影响。

Alt+F3(Windows/Linux)或 Ctrl+Cmd+G(macOS)能直接全选光标所在单词的所有匹配项,但必须确保光标落在单词字母内部,否则会失效或误选空格、符号。
Alt+F3 为什么按了没反应?
不是快捷键坏了,而是 Sublime 的匹配逻辑依赖光标落点:
- 光标停在
user_id的任意字母上(比如u或d),Alt+F3才会匹配所有user_id - 光标停在末尾空格、括号、引号内,或单词外的符号(如
user_id|中的|是光标位置),Alt+F3可能只选中空格或报错 - 右下角状态栏显示
W(Whole Word)点亮时,user_id不会匹配user_id_v2;但若你本想匹配子串id,就得先按Alt+W关掉 - 文件过大(>10MB)或目标词太短(如
i、a),界面可能卡顿甚至无响应——先用Ctrl+F搜一下,看左下角是否显示合理匹配数
Ctrl+D 和 Alt+F3 到底该用哪个?
Ctrl+D 是“边看边加”,Alt+F3 是“全量锁定”,适用场景完全不同:
-
Ctrl+D:适合重命名变量时跳过字符串或注释里的同名字段。比如改error,遇到"error occurred"就按Ctrl+K再按Ctrl+D跳过 -
Alt+F3:适合确定性批量操作,比如统一把console.log替成debugger,或把所有http://换成https:// -
Ctrl+D不支持正则、不回溯、不跨折叠块;Alt+F3默认整词+大小写敏感,误中Api_Timeout这类驼峰变体需手动关掉Aa按钮 - 已选中一段含空格/引号的内容(如
"status": "active"),再按Alt+F3,它会严格匹配这个完整字符串,不是只取单词
正则全选失败,八成是边界没锚定
用 Ctrl+F + 正则 + Alt+Enter 全选时,“看起来选了,一改就乱”,问题几乎都在正则本身:
- 想改所有
console.log却卷入console.logError→ 补单词边界:\bconsole\.log\b - 用
"(.*)"提取引号内容,结果吞掉中间所有引号 → 改非贪婪:"(.*?)",并确认右下角.按钮已开(允许匹配换行符) - 替换时用
$1却为空 → 检查捕获组是否真有内容,比如(\w+)\.js$对main.min.js(末尾带空格)就捕获失败 - 匹配数超 500 时界面明显卡顿,别硬进多光标编辑态,直接用
Ctrl+H替换更稳
真正容易被忽略的是:Sublime 做的是纯文本比对,不区分语法作用域。注释、字符串、JSON 值、正则字面量里的相同文本,全会被拉进来——批量改前,务必点开几个高亮位置,确认上下文是否真的该动。











