ctrl+d是增量选中而非全选,需光标落在词内字母上;ctrl+alt+g才是真·全选相同词,但须先选中目标词、关闭正则且注意大小写设置。

Ctrl+D 是增量选中,不是全选
按 Ctrl+D(Windows/Linux)或 Cmd+D(macOS)只会从当前光标位置开始,向后找「下一个完全相同的字符串」,并加一个光标。它不回溯、不跳过注释、也不智能识别单词边界。
常见错误现象包括:Ctrl+D 按了没反应(光标停在空格或引号外)、只选中两个就停了(该词全文只出现两次)、误选 username 中的 user(没开 whole word)。
- 光标必须落在目标词的字母内(比如
api_timeout的a或e上),停在_或空格会失效 - 第一次按
Ctrl+D会选中当前词;第二次才加下一个匹配项——不是“一键全选” - 想跳过某个匹配(比如注释里的同名字符串):先按
Ctrl+K,再按Ctrl+D - 误加了?按
Ctrl+U撤销上一次光标添加,不是Ctrl+Z
Ctrl+Alt+G 才是真·全选相同词
Ctrl+Alt+G(Win/Linux)或 Ctrl+Cmd+G(macOS)触发的是 find_all_under 命令,它才是真正意义上的一键全选当前词所有匹配位置。
但它有三个硬前提,缺一不可:
- 必须先手动双击或拖选目标词(如
log_level),确保只选中标识符本身,不带空格、引号、括号 - 右下角状态栏不能亮着
.*图标(正则模式必须关闭),否则按正则规则匹配,结果不可控 - 大小写开关由右下角
Aa控制,默认不区分大小写;如需严格匹配User而不含user,要点一下关闭
如果按了没反应,打开 Preferences → Key Bindings,搜 find_all_under,确认快捷键没被插件劫持。
Ctrl+F + Alt+Enter 提供可控筛选路径
当你不确定全选会不会误伤(比如只想改代码区,跳过字符串和注释),Ctrl+F 打开查找面板才是最稳妥的起点。它能看见匹配数、加正则、限定范围。
- 光标停在目标词上(如
id),按Ctrl+F,Sublime 自动填入该词 - 点右下角图标调参:
Alt+W控制 whole word,Alt+C控制大小写,Alt+R开正则(如"id"(?=\s*:)只匹配 JSON 字段名) - 左下角看到 “42 matches” 后,按
Alt+Enter(Win/Linux)或Cmd+Enter(macOS)触发Select All - 误选了注释里的内容?关掉
.*,打开\b(whole word),避免匹配到user_id中的id
多光标编辑后语义一致性必须人工核对
Sublime 不会判断你批量改的是变量名、字符串值还是注释文本。比如用 Ctrl+Alt+G 全选 timeout,它会把 http.timeout = 5000、// timeout is too short、"timeout": 3000 全部锁死为光标。
这带来两个实际风险:
- 匹配数超 5000 时界面明显卡顿,大文件建议先用
Ctrl+F预览匹配数量 - 修改后若未检查上下文,可能把 JSON 值里的
"id"改成"ID",破坏 API 兼容性
真正安全的重构,永远是从 Ctrl+F 看清范围开始,而不是靠快捷键赌运气。











