Ctrl+D选不全变量名是因为它仅从光标所在完整字符串出发严格匹配字面一致内容;需双击选中完整变量名、关闭大小写敏感(Ctrl+Alt+R)、遇字符串误匹配按Ctrl+K再Ctrl+D跳过。

Ctrl+D 选不全变量名,是因为它只认“当前光标所在词”
Sublime 的 Ctrl+D 不是全文搜索,它从你双击或光标停留的**完整字符串**出发,严格匹配字面一致的内容。如果你把光标放在 user_id 中间(比如删掉下划线后停在 user 上),它就只找 user,跳过所有 user_id。
必须做到:
- 双击变量名,确认高亮区域完全包裹 user_id,前后无空格、引号、点号
- 检查大小写敏感是否开启:按 Ctrl+Alt+R 切换(Windows/Linux)
- 遇到不想改的位置(如 JSON 字符串里的 "user_id"),按 Ctrl+K 松开,再按 Ctrl+D 跳过当前项
- 误加太多?按 Ctrl+U 撤销上一次光标扩展(不是撤销输入)
Alt+F3 全文件替换变量名,为什么改出 bug
Alt+F3 本质是正则 \bxxx\b 全量高亮,但它不区分上下文——"user_id": "123"、// user_id required、甚至 user_id_list(没加单词边界时)都会被卷进来。
安全做法:
- 先用 Ctrl+Shift+F 全局搜索,勾选 Regex 和 Whole Word,填入 \buser_id\b
- 看右侧侧边栏列出的所有匹配项,确认全是代码上下文(如 let user_id =、function(user_id))
- 若已有误匹配,别直接替换;先按 Esc 退出多光标,再用 Ctrl+H → 勾选 In Selection,手动选中目标代码块后替换
Ctrl+Shift+L 拆行后光标歪斜,怎么对齐
Ctrl+Shift+L 不是对齐工具,它是“把当前选区按换行符切开,在每行末尾放一个光标”。如果你选的是缩进后的代码块,光标就落在缩进空格之后,而不是行首。
补救方案:
- 按 Home:所有光标跳到各自行首(含缩进空格)
- 再按一次 Home:光标跳到真正行首(跳过缩进),此时输入前缀才对齐
- 要加后缀(如 ;),先按 End 对齐行尾
- 更稳的方式是列选择:按住 Shift+Alt 垂直拖动,从第一行列首拉到最后一行列首
变量含特殊字符(如 $、.、_)怎么安全匹配
下划线 _ 默认被 Sublime 当作单词分隔符,双击 api_v2 可能只选中 api;$ 在正则里是行尾锚点,$data 必须写成 \$data\b;. 会匹配任意字符,api.v1 得写成 api\.v1\b。
操作要点:
- 查找面板启用 Regex 后,务必点小锁图标开启 Escape Special Characters
- 搜索短变量(如 id)时,\bid\b 是底线防护,否则会命中 identity、user_id
- 如果项目混用 JS/PHP/HTML,正则可能跨语法失效,此时宁可分文件手动处理,别信“全部替换”按钮
真正卡住人的不是快捷键记不住,而是光标生成后没注意它落在哪:Python 注释行、JS 字符串中间、或缩进空格之后——这些位置一输内容,bug 就埋下了。

















