ctrl+d 逐个选中下一个相同词,alt+f3 全文件匹配选中,ctrl+f 配合 select all 实现精准控制;光标须在词内,可跳过或撤销选中,多光标后需检查语义一致性。

Ctrl+D 重复选中当前高亮词,但要注意光标顺序
Sublime Text 批量选中相同内容最常用的是 Ctrl+D(Windows/Linux)或 Cmd+D(macOS),它不是“全文件匹配”,而是按出现顺序逐个添加下一个相同词的选区。比如光标停在第一个 user_id 上,按一次 Ctrl+D 选中第二个 user_id,再按一次选中第三个——它只找「下一个」,不跳过也不回溯。
常见错误现象:Ctrl+D 按了没反应,其实是光标没落在单词内部(比如停在空格或括号上);或者当前词在文件里只出现一次,自然无法继续加选。
- 确保光标完全落在目标词字母范围内(可用双击确认是否整词被选中)
- 想跳过某个匹配项?按
Ctrl+K再按Ctrl+D跳过当前项,继续下一项 - 误加选了不想改的词?按
Ctrl+U撤销最后一次选中(注意不是Ctrl+Z)
Find All(Alt+F3)直接选中全部匹配项,适合确定性替换
Alt+F3 是真正意义上的“全文件批量选中”,它会立刻把当前光标所在词的所有匹配位置都变成多光标。比 Ctrl+D 更快,但也更“刚性”:一旦触发,所有匹配项都会被锁死,后续输入会同步作用于全部位置。
使用场景:你确定要统一修改所有 console.log 为 debugger,或把所有 http:// 替换成 https://,且不关心上下文。
- 注意正则模式影响:如果开启了
.*(正则)按钮,Alt+F3会按正则规则匹配,可能意外选中更多内容 - 大小写敏感由右下角
Aa按钮控制,默认关闭,即User和user都会被选中 - 选中后若发现太多、太杂,按
Esc可一键取消全部多光标,回到单光标状态
用 Find Panel(Ctrl+F)配合 “Select All” 更精准控制范围
当你要选中的不是简单单词,而是带引号的字符串、特定前缀的变量、或某段代码块里的重复结构时,Ctrl+F 打开查找面板,输入内容后点 Select All 按钮(或按 Alt+Enter),才是更可控的方式。
参数差异明显:查找框支持正则、全字匹配、大小写开关,还能限定搜索范围(比如只在选区内查找,或只在当前作用域内)。这比盲按 Ctrl+D 安全得多。
- 想只选中 JSON 中所有的
"id"字段名,不选值?用正则"id"(?=\s*:),再点Select All - 误选了注释里的相同词?关掉
.*,打开\b(全字匹配),避免匹配到user_id里的id - 选中后发现行尾有空格也被带进来了?说明查找内容末尾有空格,删掉再试一次
多光标编辑后别忘检查非预期位置
批量选中本质是“多光标”,而 Sublime 不会帮你判断逻辑合理性。比如你在函数参数里用 Alt+F3 选中所有 data,结果连 return data 和 const data = {} 也一起改了,但 if (data) {...} 里那个 data 其实不该动。
性能影响不大,但兼容性隐患在于:某些插件(比如 Emmet 或 AutoFileName)在多光标模式下行为异常,可能自动补全失效或卡顿。
- 改完后快速扫一眼所有光标位置,尤其注意跨行、嵌套结构、注释和字符串内部
- 不确定时,先用
Ctrl+Shift+P输入Split Selection into Lines把多光标转成每行一个,手动删掉不需要的 - 复杂替换建议分两步:先
Find All,再用Ctrl+Shift+L把每个选区转成行,人工过滤后再操作
最麻烦的不是怎么选中,而是选中之后才发现有些地方语义不同却长得一样。这种时候,正则的边界断言和作用域限制就不是可选项,而是必选项。











