Ctrl+D只选中一个词就停了,因为它本质是增量匹配:首次按仅选中光标所在词(需落在字母上),后续每次按下才按顺序向下追加下一个完全相同字符串,不跳过、不回溯;光标停在空格或符号后则失效。

Ctrl+D 为什么只选中一个词就停了?
它不是“全选”,是增量匹配:光标必须落在目标词的任意字母上(比如 user_id 中的 u 或 _),第一次按 Ctrl+D 仅选中当前词;第二次才找下一个完全相同的字符串,严格按文档顺序向下推进,不跳过、不回溯。
- 光标停在空格、括号或引号后,
Ctrl+D会失效或选中空白 - 想跳过某处(如 JSON 字符串里的
"user_id"),先按Ctrl+K,再按Ctrl+D - 误加选了?按
Ctrl+U撤销上一次添加,比Ctrl+Z更精准
Alt+F3 全选所有匹配项但改错了怎么办?
Alt+F3 确实一键全选,但它默认开启 Whole Word 和 Match Case,且不做语义判断——注释、字符串、变量名全被拉进来。
- 右下角
.*图标亮起时,Alt+F3按正则规则匹配,结果不可控,务必先关掉 - 大小写敏感由右下角
Aa控制,默认关闭;若需区分User和user,点一下启用 - 想避免匹配
debug_user_id,得用正则\buser_id\b,而不是直接搜user_id
Ctrl+F + Alt+Enter 和 Ctrl+Shift+L 到底该用哪个?
Ctrl+F 打开查找面板,输入内容后点 Alt+Enter(或面板里点 Select All),本质是“先查再选”;Ctrl+Shift+L 是把已有选区(比如单行或多行)按换行符拆成多个光标。
- 要改的是固定单词(如
console.log),用Ctrl+F→ 输入 →Alt+Enter最稳 - 要改的是每行末尾(如统一加
;),先Ctrl+L选中多行,再Ctrl+Shift+L→End→ 输入 -
Ctrl+Shift+L后千万别乱按方向键或删字符,否则光标立刻合并;输完再检查空行是否也被光标覆盖
跨文件批量修改为什么不能用多光标?
Sublime 不支持跨文件多光标实时编辑。你 Ctrl+Click 多个标签页,只会切换焦点;Ctrl+D 永远只在当前文件内生效。
- 真正可行的是
Ctrl+Shift+F(Find in Files),Where 栏填路径(如./src/**/*.ts),勾选Regular Expression - 执行
Replace All前,一定先点Find All预览——重点看是否命中"user_id"、// user_id或正则字面量里的/user_id/g - 插件
MultiEditUtils的Select All Occurrences in Open Files仅适用于已打开且文本完全一致的文件,不推荐依赖
Ctrl+D 和 Alt+F3 都要求光标落在词内,而 \b 这种锚点在跨文件替换时几乎不可省略。


















