ctrl+d可靠起点是光标落在单词字母内部;否则易选错或无响应,因其匹配光标处起的相同字符串而非识别单词边界。

直接说结论:光标必须落在单词字母内部,Ctrl+D(Win/Linux)或 Cmd+D(macOS)才是可靠起点;靠“悬停”或“点在空格上”按 Ctrl+D,大概率选错、漏选或根本没反应。
为什么Ctrl+D有时只选中一个词,甚至选中空格?
Ctrl+D 不是“识别单词”,而是“从光标当前位置出发,找下一个完全相同的字符串”。它不自动感知单词边界,全看光标落点:
- 光标停在
user_id的u上 → 第一次按选中整个user_id - 光标停在
user_id的_或末尾空格上 → 第一次按可能只选中_或空格 - 光标停在
log后面的括号里(如log()的()→ 它会尝试匹配(,而不是log - 未做任何选中就按
Ctrl+D→ Sublime 自动双击光标处,但若语法高亮把a当作关键字或忽略短词,可能失败
真正全选所有相同单词,别用Ctrl+D连按
想一次性拉出全部匹配,Ctrl+D 连按不是解法——它只会线性往后扫,跳过折叠区、卡在不可见字符、且无法回溯。正确路径是:
- 先双击目标词(最稳,确保只选中纯标识符,不含空格/引号)
- 再按
Ctrl+Alt+G(Win/Linux)或Ctrl+Cmd+G(macOS)——这才是原生find_all_under命令 - 若快捷键失效,检查
Preferences → Key Bindings中是否被插件覆盖,确认绑定的是ctrl+alt+g或ctrl+super+g - 右下角状态栏若亮着
.*(正则开启),Ctrl+Alt+G会按正则匹配,先按Alt+R关掉
避开注释和字符串里的干扰项,靠\b不是靠感觉
直接全选常误伤,比如改 id 却把 user_id、identity、JSON 字符串里的 "id":123 全干掉。安全做法是用正则限定边界:
- 按
Ctrl+F,光标会自动填入当前词(如id) - 点右下角
W图标开启 Whole Word,或手动输入\bid\b并按Alt+R开正则 - 左下角看到 “X matches” 提示后,按
Alt+Enter(Win/Linux)或Cmd+Enter(macOS)全选 -
\b在英文/数字组合中有效,对中文无效;中文场景建议用^和$配合行首行尾,或先Ctrl+Shift+L拆行再Ctrl+Cmd+G
最容易被忽略的一点:多光标编辑不校验语法。你选中了 8 处 user_id,其中 2 处在 Python 字符串里、1 处在注释中,Ctrl+D 或 Ctrl+Alt+G 都不会提醒你——它只管匹配,不管上下文是否可编辑。动手前,务必先用 Ctrl+F 看匹配数,再人工扫一眼上下文。











