ctrl+d是增量选中,alt+f3是一键全选,ctrl+f+alt+enter最可控:ctrl+d需光标在目标字符内且只向后匹配;alt+f3自动启用whole word和match case全量匹配;ctrl+f+alt+enter支持正则、范围限定与预览,避免误改。

Ctrl+D 和 Alt+F3 都能批量选中相同字符,但它们行为完全不同——别混用,否则要么漏改、要么误伤。
为什么Ctrl+D总选不全?
Ctrl+D 不是“全选”,而是“下一个匹配项”的增量操作:
- 光标必须落在目标字符(或单词)的任意一个字母/数字/下划线内,停在空格、括号或引号里就无效
- 每按一次只找**当前位置之后**的第一个完全相同匹配,不回溯、不跨折叠区域、不跳过注释里的内容
- 默认不开启 Whole Word,所以搜 id 会命中 user_id 和 identity 里的 id常见卡点:
- 按了没反应 → 光标位置不对,双击目标词再试
- 只选中两个就停了 → 文档里实际就两个,或中间有不可见字符(如混合换行符 \r\n 和 \n)
- 误选了不该改的地方 → 关掉正则模式,打开 Whole Word(按 Alt+W)
Alt+F3 一键全选,但默认很“刚”
Alt+F3(Windows/Linux)或 Ctrl+Cmd+G(macOS)才是真·全量匹配:
- 它等价于:把光标下内容自动填入查找框 → 开启 Whole Word 和 Match Case → 点 Find All
- 所以 api_timeout 不会匹配 api_timeout_v2,User 也不会匹配 user
- 但它不管上下文:字符串里、注释里、JSON 值里的相同文本,全会被拉进来
实操建议:
- 想改所有 console.log → 直接 Alt+F3,安全
- 想改变量 data 却避开 "data" → 别用 Alt+F3,改用 Ctrl+F 输入 \bdata\b(?![\'\"]),再按 Alt+Enter
- 匹配数超 500 → 界面可能卡顿,先滚动到顶部再触发,或分段操作
真正可控的批量选中:用 Ctrl+F + Alt+Enter
这是最稳的路径,尤其当你需要过滤、预览、或限定范围时:
- 把光标放在目标词上,按 Ctrl+F,它会自动填充当前词
- 点击查找面板左下角图标切换模式:Alt+W(whole word)、Alt+C(case sensitive)、Alt+R(regex)
- 输入正则如 "(.*?)" 选中所有双引号字符串,或 ^.*$ 配合 Ctrl+L 选中全部行
- 确认无误后,按 Alt+Enter 或点 Select All 按钮
关键细节:
- Alt+Enter 是“选中所有匹配项”,Enter 只是跳转到第一个匹配
- 查找范围可限制:勾选 In Selection 只搜选区,或手动在 Where 栏填 ./src/**/*.js
- 正则中的 \b 在 Sublime 里对中文支持弱,改字段名时优先用 Whole Word 而非依赖 \b
多光标一旦生成,任何输入都会同步作用于所有位置。最容易被忽略的是:Sublime 不检查语义一致性——你改了 10 处 user_id,其中 3 处在 JSON 字符串里,它不会提醒你。改完务必人工扫一眼引号和注释区。











