Ctrl+D是增量选中,只匹配光标所在词的下一个严格相同实例,线性向下扫描且不回溯;Alt+F3才一次性全选所有匹配项,但依赖Whole Word和Match Case等条件。

Ctrl+D 是增量选中,不是全选
按 Ctrl+D 不会一次性拉出所有匹配项,它只找「光标所在词的下一个严格相同实例」,从当前位置向下线性扫描,不回溯、不跳过注释或字符串、也不识别单词边界。常见现象包括:
- 按一次没反应:光标停在空格、引号内、括号后,或变量含连字符(如
user-name)被切开 - 只选中两个就停了:该词全文实际只出现两次,或中间有折叠代码块阻断扫描
- 误选
username:因为没启用 Whole Word 模式,Ctrl+D默认按子串匹配
实操要点:
- 双击目标词(如
api_timeout),确保整词被选中再按Ctrl+D - 想跳过某处(比如 JSON 字符串里的同名字段),先按
Ctrl+K,再按Ctrl+D - 加选多了?按
Ctrl+U撤销上一次添加,比Ctrl+Z更精准
Alt+F3 才是真·全选,但默认带限制
Alt+F3(Windows/Linux)或 Ctrl+Cmd+G(macOS)会一次性为当前光标下单词的所有匹配位置创建光标,但它依赖几个硬条件:
- 光标必须落在目标词的任意字母上(不能悬在空格或符号后)
- 默认开启 Whole Word 和 Match Case,所以
user_id不会匹配debug_user_id或User_Id - 不区分作用域——注释、字符串、正则字面量里的相同文本全会被选中
风险点:
- 匹配数超 500 时(比如日志里满屏
i),界面可能卡死 - 右下角
.*图标亮起时,Alt+F3按正则规则匹配,结果不可控,务必先关掉 - 大小写敏感由右下角
Aa控制;若需区分User和user,点一下启用
Ctrl+F + Alt+Enter 更可控,适合带条件的场景
当你不确定 Alt+F3 是否会误伤,或者需要限定范围(比如只改 JS 区域、排除注释、匹配字段名而非值),走查找面板最稳妥。
- 把光标放在目标词上(如
id),按Ctrl+F,Sublime 会自动填入该词 - 点右下角图标切换模式:
Alt+W开启 Whole Word,Alt+R开启正则,Alt+C切换大小写敏感 - 想只选 JSON 中的
"id"字段名?用正则"id"(?=\s*:),再按Alt+Enter - 执行
Replace All前,一定先点Find All预览——重点看是否命中注释、字符串或正则字面量里的/user_id/g
Ctrl+Alt+G 适用于单字符或符号批量选择
想选中所有 ;、{、+ 这类符号,Ctrl+D 和 Alt+F3 都不可靠,因为它们本质是“词级”操作。此时要用 Ctrl+Alt+G(Windows/Linux)或 Ctrl+Cmd+G(macOS):
- 必须先双击或拖选一个目标字符(如单独选中一个
;,不能只把光标停在分号上) - 它基于当前选区做全文本正则匹配,对单字符、空格、甚至制表符都有效
- 如果选中的是带换行的块,它只匹配完全相同的块(含换行)
- 正则元字符如
.、*会被当作字面量处理,除非你提前按Alt+R开启正则模式
最容易被忽略的是光标落点和正则边界:无论用哪种方式,Ctrl+D 和 Alt+F3 都要求光标落在词内,而 \buser_id\b 这种锚点在跨文件替换时几乎不可省略。


















