ctrl+d/cmd+d是最常用多光标选择快捷键,但需先选中目标词,其行为取决于初始选区:未选中时自动双击光标处单词,已选中则严格匹配所选文本,且受whole-word、换行符等设置影响。

直接说结论:用 Ctrl+D(Windows/Linux)或 Cmd+D(macOS)最常用,但必须先选中一个目标词——它不是“搜索匹配”,而是“从当前选区出发逐个扩展”。
为什么 Ctrl+D 有时只选中一个词,或跳过了想要的位置
因为 Ctrl+D 的行为完全取决于你“最初选中了什么”:
- 没选中任何东西时按
Ctrl+D:Sublime 自动双击光标所在单词(含紧邻空格/标点),可能选中user_name;而不是user_name,后续匹配就错位 - 已选中带空格的文本(如
"value")再按Ctrl+D:它会严格匹配这个带引号的完整字符串,不会命中代码里的value - 开了
match_whole_word(默认开启):user不会匹配username或user_id - 文件里有混合换行符(
\r\n和\n)时,部分匹配可能被截断,尤其在正则辅助查找场景下
Ctrl+D 连续按的实操节奏和跳过技巧
别狂按,Sublime 不是响应式设计,它需要确认上一次扩展是否完成:
- 按一次
Ctrl+D→ 看光标是否新增 → 停顿半秒 → 再按一次 - 想跳过当前高亮项(比如注释里的同名字符串):按
Ctrl+K再按Ctrl+D(Windows)或Cmd+K再按Cmd+D(macOS) - 误加了一个?按
Ctrl+U(撤销选区)可逐次回退,不用Esc全清 - 想中途停住、只改其中几处?松开所有键,直接输入——只有当前光标位置会响应,其余光标仍保留,等你继续操作
全量选中所有相同词:用 Ctrl+Shift+G,不是 Ctrl+G
Ctrl+G 是跳转到行号,Ctrl+Shift+G 才是一键全选当前文件中所有匹配项并生成光标:
- 它不受当前光标位置限制,只要文档里有,就会加光标(包括折叠区域、注释、字符串内部)
- 匹配数超 10000 时,默认只生成前 10000 个光标;可通过设置
max_find_results调整 - 文件 >10MB 时会有 1–2 秒卡顿,建议先用
Ctrl+F输入关键词预览匹配数量 - 如果搜索框为空却按了
Ctrl+Shift+G,它会选中所有空行——这不是崩溃,是真实行为
真正容易被忽略的细节:光标落在哪儿,决定了你改的是什么
多光标不区分“可编辑上下文”。如果你的光标落在 Python 字符串中间、JSON 的 key 引号内、或某行末尾的空格上,输入内容会直接插进去,可能破坏语法结构。最稳妥的做法是:双击目标词(确保只选中纯标识符),再按 Ctrl+D,避免拖选时多带空格或换行符。另外,Ctrl+Shift+L 拆行后光标默认落在换行符前,看着在行尾,其实一输内容就顶替了那个 \n——要加后缀,得先确认光标真正在行末;要加前缀,得先用 Home 或列选择对齐到行首。











