ctrl+d 不能一键全选所有相同内容,它只按顺序逐个添加光标;真正能一次性覆盖全部匹配项的是 ctrl+shift+l(配合查找)或 ctrl+alt+g(严格字面全选),但两者触发条件完全不同。

Ctrl+D 不能一键全选所有相同内容,它只按顺序逐个添加光标;真正能一次性覆盖全部匹配项的是 Ctrl+Shift+L(配合查找)或 Ctrl+Alt+G(严格字面全选),但两者触发条件完全不同。
为什么 Ctrl+D 总是选不全、跳着走
Ctrl+D 的行为完全取决于你第一次怎么选中目标——它不是“搜索全部”,而是“向后找下一个完全相同的选区”。常见翻车点:
- 光标停在
user_id的下划线位置,Ctrl+D会尝试匹配_id,而非整个变量名 - 没手动双击选中,靠光标自动“单词识别”,可能包进空格或引号,导致后续匹配失败
- 默认开启
Whole Word,log不会匹配logger;想关掉?按Alt+W - 想跳过注释里的匹配?按
Ctrl+K再按Ctrl+D,当前高亮消失,光标保留在原位 - 误加太多?按
Ctrl+U撤销最近一次光标添加(不是撤销编辑内容)
怎样一次性选中所有匹配项(安全可控)
别依赖连按 Ctrl+D,用查找面板预览再批量生成光标:
- 按
Ctrl+F输入目标词(如api_timeout) - 右下角确认关闭
.*(正则模式),按需点Aa控制大小写 - 按
Enter跳到第一个匹配,再按Ctrl+Shift+L—— 所有匹配位置立刻变成独立光标 - 如果
Ctrl+Shift+L没反应,检查是否误点了Replace All或没先按Enter定位到首个匹配 - 想只选代码区跳过字符串?改用正则:
\bapi_timeout\b(?![\'\"]),再Alt+Enter全选
Ctrl+Alt+G 全选的硬性前提
Ctrl+Alt+G 看似最直接,但极易失效,必须同时满足:
- 目标词必须**手动双击或拖选**,且只选中纯标识符(比如
data,不能带前后空格或括号) - 查找面板右下角不能亮着
.*图标(正则必须关闭) - 大小写开关由
Aa控制:默认不区分,如需严格匹配User就得点一下关掉 - 如果按了没反应,打开
Preferences → Key Bindings搜find_all_under,确认快捷键未被插件劫持
改完容易破坏语法?这些细节决定成败
多光标本身无上下文判断,输入即同步执行。最容易被忽略的语义风险:
- 输入时稍作停顿或按方向键,Sublime 会自动合并重叠光标——务必在
Ctrl+Shift+L后**立刻输入**,不要先移动光标 - 想给每行末尾加分号?先
Ctrl+L选行 →Ctrl+Shift+L→End→ 输入;;若End失效,改用Ctrl+→ - 列选择(
Shift+Alt+拖动)和多光标互斥:列选状态下Ctrl+D不生效,必须先按Esc退出 - 鼠标点击加不了光标?检查用户设置里是否已禁用
"drag_text": false,否则Ctrl+Click会拖动文本而非加光标











