ctrl+d选中范围由首次选择决定:未选中时双击光标处单词(含邻近符号),手动选中带引号字符串则只匹配该形式;全选相同词用ctrl+alt+g,需先精确选中、关闭正则与按需设置大小写。

Ctrl+D 为什么只选中一个词,或跳过想要的位置
因为 Ctrl+D 的行为完全由你“第一次怎么选中目标”决定:没选中任何内容时按它,Sublime 会自动双击光标所在位置的单词——但这个“双击”可能把紧邻的空格、引号甚至括号也包进去;而如果你已经手动拖选了 "user_id"(带引号),那后续所有匹配都会严格按这个带引号的字符串来找,不会命中代码里裸写的 user_id 变量。
常见干扰点包括:
- 光标停在单词前/后(比如
user_id左侧空格或右侧括号),Ctrl+D可能选中空白或单个符号,而非整个标识符 - 默认开启
whole word,所以user不会匹配username或user_id;想关掉?按Alt+W - 文件混用
\r\n和\n换行符时,跨行字符串匹配可能被意外截断 - 某些语法插件修改了
word_separators(比如把_当分隔符),user_id就会被拆成两个词
真正一键全选所有相同词:用 Ctrl+Alt+G(Windows/Linux)或 Ctrl+Cmd+G(macOS)
这不是 Ctrl+D 连按的加强版,而是独立命令 find_all_under。它不看光标在哪,只认你当前选中的纯文本内容——只要文档里有,就加光标。
但它很硬气,三个前提缺一不可:
- 必须先手动双击或拖选目标词(比如
api_timeout),确保只选中标识符本身,不带空格、引号、括号 - 右下角不能亮着
.*图标(正则模式必须关闭),否则它按正则规则匹配,结果不可控 - 大小写开关(右下角
Aa)要按需设置;默认关闭,即User和user都会被选中
想避开注释或字符串里的干扰项?用 Ctrl+F + Alt+Enter 组合
当你要改的是变量名,但同名字符串散落在注释或 JSON 值里时,Ctrl+Alt+G 会无差别全选,容易误改。这时候更可控的方式是打开查找面板:Ctrl+F 输入目标词,勾选 Whole Word 和/或 Match Case,再按 Alt+Enter(Select All)。
这个操作的好处是:
- 支持正则(比如
\buser_id\b确保单词边界) - 可预览所有匹配项,确认无误后再生成光标
- 选中后仍可手动
Ctrl+Click去掉个别干扰项,再继续编辑
多光标后输入时,语义一致性最容易被忽略
光标加得再准,输错一个字符就全串了。比如同时改多个 user_id 为 account_id,但如果其中某处是 user_id: null,而你直接输 account_id: null,冒号前多了一个空格,其他地方却没空格,格式就崩了。
更隐蔽的问题是:
- 部分光标落在引号内,部分在变量声明位置,直接输入可能破坏引号配对
- 有光标停在行尾换行符前,输入时会把新内容挤到下一行开头
- 批量替换后,记得检查缩进是否对齐(尤其用
Ctrl+Shift+L处理多行时)
真正稳的操作是:加完光标后,先按 Esc 退出多光标,再逐个确认上下文,必要时切回单光标模式微调。











