ctrl+d 是增量选中,按一次选中光标所在单词,再按依次追加后续匹配项;真正全选所有匹配项应使用 alt+f3(win/linux)或 ctrl+cmd+g(macos)。

Ctrl+D 是增量选中,不是全选,按错次数会漏项
第一次按 Ctrl+D(Windows/Linux)或 Cmd+D(macOS)只选中光标所在单词,前提是光标**必须落在单词字母内部**——停在开头前、结尾后、空格或标点上,它可能选中空白或单个字符。第二次按才找下一个匹配项,第三次继续往后追加。这不是“全文档扫描”,而是严格按出现顺序逐个添加。
常见踩坑点:
- 连按三次以上,容易跳过中间某处(比如第2个是注释里的,你本想跳过,但手快按了两次就锁定了)
- 光标在
user_id中间时,Ctrl+D可能只选中user或id,取决于当前语法作用域和word_separators设置 - 按多了想撤回?别用
Ctrl+Z,那是撤销输入;用Ctrl+U撤销上一次选中,精准退一步 - 想跳过当前高亮项(比如第3个在字符串里不该改)?先按
Ctrl+K,再按Ctrl+D
真正一键全选所有匹配项,用 Alt+F3 或 Ctrl+Alt+G
Alt+F3(Windows/Linux)或 Ctrl+Cmd+G(macOS)才是触发“Select All Occurrences”的原生命令。它不依赖光标是否精准落位,只要光标在目标词“附近”,Sublime 就能识别并全量匹配——行为等价于自动执行查找 + 全选,且默认启用 whole word 模式。
但要注意几个硬性前提:
- 必须先确保当前视图没开启正则模式(右下角不能亮着
.*图标),否则它会按正则规则匹配,结果不可控 - 大小写敏感开关由右下角
Aa按钮控制,默认关闭(即user和User都会被选中),如需严格区分,点一下关闭它 - 如果按了没反应,大概率是插件劫持了快捷键——打开
Preferences → Key Bindings,搜find_all_under,确认绑定的是ctrl+alt+g(Win)或ctrl+super+g(Mac) - 中文输入法活跃时,组合键常被系统吞掉,切英文输入法再试
批量修改变量名,光靠选中还不够,得防误改
选中后直接打字确实能同步覆盖,但危险点在于:Sublime 不做语义判断。你选中了 10 处 user_id,其中 3 处在 JSON 字符串值里、2 处在注释中,它照样一起改。
更安全的做法是分层控制:
- 先用
Alt+F3粗筛,看右下角是否显示匹配数;若太多,说明上下文太杂,别急着输 - 按
Ctrl+Shift+L把多光标转为单行光标,手动删掉不需要改的几处(比如某行末尾的// user_id) - 对关键变量重命名,优先走
Ctrl+H→ 开启正则 → 输入\buser_id\b→ 点Select All(Ctrl+Shift+G),\b能避免匹配到debug_user_id这类子串 - 改完立刻扫一眼缩进——多光标输入会吃掉原有空格,若发现某处缩进塌了,说明那行原本有前置空格被覆盖,得手动补
双击 + Ctrl+Alt+G 才是最稳的启动链
比单纯把光标放上去再按快捷键更可靠的操作是:先双击目标单词确保整词被选中(规避 word_separators 导致的截断),再按 Ctrl+Alt+G(Win)或 Ctrl+Cmd+G(Mac)。这个动作链绕过了“光标落位不准”“驼峰词识别失败”“下划线被当分隔符”等绝大多数边界问题。
但它依然不解决语义层面的干扰——比如 user_id 在函数定义、调用、字符串、注释中混着出现。这时候就得接受一个事实:Sublime 没有 AST 分析能力,所谓“安全批量改名”,本质是人工校验 + 正则收口。最省事的场景永远是:上下文干净、无歧义、改完能跑通测试。











