Ctrl+D是逐个精确匹配当前选中内容的下一个实例,非全选;真正全选用Ctrl+Alt+G(Win/Linux)或Ctrl+Cmd+G(macOS),但需先手动选中目标词,且受光标位置、语言模式、折叠状态等上下文影响。

Ctrl+D 是逐个加选,不是一键全选
很多人按着 Ctrl+D 一直点,以为能“自动扫完所有相同词”,结果漏了几个、跳过了注释里的、还把 userName 里的 user 也揪出来——这不是 bug,是它本来的设计逻辑。
-
Ctrl+D永远只找“当前已选中内容”的下一个**精确匹配项**,从光标位置开始向下线性扫描,不回溯、不全局、不跳过字符串或注释 - 光标停在
data的任意字母上,第一次按选中这个data;再按,就找下一个完整的data(大小写敏感、整词匹配默认开启) - 如果已经部分选中(比如只选了
user而不是整个userName),Ctrl+D就按你选的那截去匹配,不是按单词边界 - 误点了想跳过?按
Ctrl+K,再按Ctrl+D,就能跳过当前这项,继续往下找 - 选多了想撤?
Ctrl+U可逐次撤销上一次Ctrl+D,比狂按Esc后重来快得多
真正全选所有相同词:用 Ctrl+Alt+G(Win/Linux)或 Ctrl+Cmd+G(macOS)
这才是 Sublime 里“全文本正则级”批量多光标的选择方式,但它的触发有硬前提:必须先手动选中一段文本(哪怕只有一个字母),不能空光标直接按。
- 先用鼠标或方向键选中一个目标词(如
log),再按Ctrl+Alt+G→ 所有完全相同的log都会生成光标 - 它默认区分大小写,若要匹配
Log和log,得先按Ctrl+Alt+U切换大小写忽略模式 - 想只匹配独立单词(避开
logging),确保右下角查找面板的W图标点亮(即开启 Whole Word);否则得手动输正则\blog\b并开Alt+R - 注意:它只作用于当前文件,不会跨标签页或项目生效
- 超 500 处匹配时可能卡顿(比如日志里满屏
i),此时建议改用Ctrl+H替换面板直接替换,别进多光标编辑态
用查找框 + Alt+Enter 最稳妥,尤其怕误操作时
当你不确定 Alt+F3 或 Ctrl+Alt+G 会不会误伤,或者要加条件(比如限定在 JS 文件、排除注释),走查找流程最可控——看得见匹配数,也方便调参。
- 把光标放在目标词上,按
Ctrl+F,Sublime 会自动填入该词 - 点右下角图标切换:按
Alt+W开/关整词匹配,Alt+C控制大小写,Alt+R开正则(如\bdata\w*匹配所有data开头的变量) - 左下角看到 “73 matches” 这类提示后,再按
Alt+Enter(Win/Linux)或Cmd+Ctrl+G(macOS)——这时才真正全选 - 千万别
Ctrl+F后直接回车!那只会高亮,不会选中;更别让查找框为空时按Alt+Enter,会每行开头插光标,极易卡死
容易被忽略的细节:光标位置、语言模式和折叠状态
很多“按了没反应”或“选得不对”,其实跟快捷键无关,而是上下文没对。
- 光标必须落在目标词**内部**(比如
api_url的a、p、i上),停在前后空格、引号、括号里,Ctrl+D和Ctrl+Alt+G都可能匹配失败或错位 - 右下角语言模式要是
Plain Text,Sublime 就不会按代码逻辑解析单词边界,Ctrl+L选行都可能断在折行处——点击右下角语言名,切到对应语法(如JavaScript) - 代码被
Ctrl+Shift+[折叠时,Ctrl+L会选中整个折叠块,而不是你眼睛看到的那一行;先展开再操作 - 混用换行符(
\r\n和\n)或含 BOM 的文件,也可能导致多光标定位偏移——用Ctrl+Shift+P→Convert Line Endings: Unix统一试试
真正麻烦的不是功能找不到,而是你以为在选“单词”,Sublime 其实只认“光标此刻压住的那串字符”——它不猜你意图,也不做语义理解。这点盯紧了,90% 的多选问题就解了一半。











