Ctrl+Alt+G(Win/Linux)或 Ctrl+Cmd+G(macOS)可一键全选当前视图中所有匹配单词,而Ctrl+D仅逐次追加选中下一个相同词;前者基于光标下单词全文匹配并默认启用“whole word”,更符合批量修改需求。

Sublime Text 怎么一键选中所有相同单词
直接按 Ctrl+D(Windows/Linux)或 Cmd+D(macOS)逐次扩展选中——但这是“手动追加”,不是真正的一键全选。要真正一次性选中当前视图里所有匹配项,用 Ctrl+Cmd+G(macOS)或 Ctrl+Alt+G(Windows/Linux)。
为什么 Ctrl+D 不是“全选”,而 Ctrl+Alt+G 才是
Ctrl+D 是“多重光标增量选择”:它只找下一个**紧邻的、完全相同的词**(受大小写、空格、标点严格限制),且必须已有一个光标在词内才生效;Ctrl+Alt+G 则是“查找并全部选中”,本质等价于先 Ctrl+F 输入当前词,再按 Alt+Enter —— 它基于当前光标下单词自动触发全文匹配,更接近“同名词一键选中”的真实需求。
- 如果光标停在
user_id上,Ctrl+Alt+G会选中所有独立的user_id,但不会误选user_id_list(默认开启“whole word”) - 若想连带匹配
user_id_list,得先手动打开查找面板,关掉Whole Word和Match Case,再执行 -
Ctrl+D在重命名变量时更安全,Ctrl+Alt+G更快但需确认上下文是否干净
选中后怎么批量修改又不崩格式
选中完成后直接打字即可覆盖全部——但容易出问题:
- 如果某处被选中的词前后有空格或换行,新输入内容会吞掉原有空白,导致缩进错乱;建议先按
Ctrl+Shift+P调出命令面板,输入Indentation: Convert Indentation to Spaces统一缩进风格 - 修改含引号或括号的字符串(如
"name")时,别直接输title,否则引号丢失;应先按Ctrl+Shift+P运行Insert Snippet或用Ctrl+Shift+M选中引号内区域再改 - 选中跨多行的内容(比如多个函数名)后,按
Enter换行会把每处都拆成两行,慎用
Mac 和 Windows 快捷键对不上?检查 Key Bindings 是否被插件覆盖
常见现象:按了 Ctrl+Alt+G 没反应。大概率是安装了 Emacs Pro Essentials 或 SublimeCodeIntel 类插件,它们会劫持原生快捷键。
- 打开
Preferences → Key Bindings,左侧是默认键位,右侧是用户自定义;搜索find_all_under,确认它绑定的是ctrl+alt+g(Win)或ctrl+super+g(Mac) - 如果右侧有冲突条目,删掉或注释掉那行;不要直接改左侧文件
- 部分中文输入法在焦点切换时会吞掉组合键,切到英文输入法再试一次
Ctrl+Click 点一个词,再 Ctrl+Alt+G”,这个动作链最稳。边界情况永远存在——比如正则特殊字符没转义、驼峰词被拆开、注释里的同名变量也被选中——这时候就得退一步,老实用 Ctrl+H 配合正则手动审校。










