Ctrl+Alt+G(Win/Linux)或 Ctrl+Cmd+G(macOS)是唯一原生全量选中相同词并生成多光标的命令,但需满足三前提:手动精确选中纯标识符、关闭正则模式(右下角无.*)、正确设置大小写敏感;否则静默失败。

直接用 Ctrl+Alt+G(Windows/Linux)或 Ctrl+Cmd+G(macOS)——这是唯一真正“全量选中所有相同词并生成多光标”的原生命令,但必须满足三个硬性前提,否则会静默失败或误匹配。
为什么 Ctrl+D 不是全选,只是“下一个”
Ctrl+D 的行为完全由你第一次怎么选中决定:没选中时它自动双击光标位置,可能带入空格、引号甚至换行符;已选中 "user_id" 再按,就只匹配这个带引号的字符串,不会命中变量 user_id。它不回溯、不跳过、不统计总数,只找“下一个”严格相同的文本片段。
- 光标停在单词外(比如
user_id|)的括号前),Ctrl+D会失效或选中符号 - 文件混用
\r\n和\n时,跨行匹配可能被截断 - 插件修改了
word_separators(如把_当分隔符),user_id就会被拆成两个词 - 想跳过注释里的同名项?按
Ctrl+K再按Ctrl+D,不是连按
Ctrl+Alt+G 全选失败的三大原因
这个命令叫 find_all_under,它不管光标在哪,只认你当前选中的纯文本。但它很“较真”:
- 必须先手动双击或拖选目标词(如
api_timeout),确保只选中标识符本身,不带空格、引号、括号 - 右下角不能亮着
.*图标(正则模式必须关闭),否则它按正则规则匹配,结果不可控 - 大小写开关由右下角
Aa控制,默认不区分大小写;要严格匹配User而不含user,得点一下关掉 - 快捷键被插件劫持?打开
Preferences → Key Bindings,搜find_all_under,确认绑定的是ctrl+alt+g(Win)或ctrl+super+g(Mac)
更稳妥的路径:Ctrl+F + Alt+Enter
当你不确定是否该改所有出现位置(比如只想改代码区,跳过 JSON 字符串值和注释),Ctrl+F 才是可控起点:
- 光标停在目标词上(如
log),按Ctrl+F,Sublime 自动填入该词 - 点右下角图标调参:
Alt+W开启 whole word,Alt+C开启大小写敏感,Alt+R开正则(如\blog\b) - 确认匹配数和位置无误后,按
Alt+Enter(Win/Linux)或Cmd+Enter(Mac)触发Select All - 想只选 JSON 中的
"id"字段名而不选值?用正则"id"(?=\s*:),再点Select All
最容易被忽略的语义破坏点
Sublime 不区分上下文:你用 Ctrl+Alt+G 选中 12 处 user_id,其中 3 处在 JSON 字符串值里、2 处在注释中,它照样一起加光标。输入 user_name 后,"user_id": "abc" 就变成 "user_name": "abc",语法依然合法,但逻辑已错。
真正安全的做法是:双击目标词确保只选中纯标识符 → 检查右下角 .* 和 Aa 状态 → 再按 Ctrl+Alt+G → 快速扫一眼右下角匹配数,重点看高亮位置是否都在可编辑上下文中。

















