ctrl+鼠标左键添加多个光标是最常用多光标方式,适合不连续位置快速编辑;ctrl+d逐词扩展光标;ctrl+shift+g一键全文件匹配;列编辑与多光标互斥,需按场景选用。

Ctrl+鼠标左键添加多个光标
这是最常用也最容易上手的多光标方式,适合在不连续的位置快速插入或修改。按住 Ctrl(macOS 是 Cmd),再用鼠标左键点击任意位置,就会在那里新增一个光标。
常见错误现象:点了没反应——检查是否开启了 ignored_packages 里的 Mouse Wheel Switcher 类插件冲突;或者误触了触控板双指滚动,被系统拦截了点击事件。
使用场景:
- 批量改函数名(比如把所有 getUser 改成 fetchUser,但只改特定几处)
- 在多行末尾同时加逗号或分号
- 给散落的变量加前缀(如 data_)
注意点:
- 每次最多支持约 2000 个光标,超出后 Sublime 会静默丢弃多余光标
- 光标过多时,回车、退格等操作仍生效,但渲染可能卡顿,建议改完立刻按 Esc 退出多光标模式
Ctrl+D 逐词选中并扩展光标
Ctrl+D 的核心逻辑是“选中当前光标所在词 → 再按一次,选中下一个相同词 → 每按一次就追加一个光标”。它不是全文高亮,而是按出现顺序逐个匹配。
容易踩的坑:
- 默认只匹配“完整单词”,user_id 和 user 不会被同时选中(除非关掉 match_selection_only)
- 如果已选中一段文本再按 Ctrl+D,Sublime 会尝试匹配这段文本的**完全一致内容**,而非单词边界
- 连续按太快可能漏掉一次,建议节奏稳定:按一下 → 看光标是否新增 → 再按
实操建议:
- 想跳过某个匹配项?按 Ctrl+K + Ctrl+D 跳过当前项,继续下一项
- 想撤销上一次扩展?按 Ctrl+U(Undo selection)
- 配合 Ctrl+Shift+L 把当前选中内容按行拆成多光标,特别适合处理 CSV 或日志片段
Ctrl+Shift+G 快速选中所有匹配项
当确定要改全文所有某段文字时,Ctrl+Shift+G 比狂按 Ctrl+D 更直接:它会在当前视图内所有匹配位置一次性放上光标。
关键限制:
- 只作用于当前打开的文件,不跨标签页
- 不受折叠代码块影响,但被隐藏的注释/字符串里也能匹配(比如正则模式开启时,"\d+" 也会被找到)
- 如果搜索内容为空,会选中所有空行——这常被误认为“崩溃”,其实是正常行为
性能提示:
- 文件超 10MB 时,Ctrl+Shift+G 可能卡顿 1–2 秒,建议先用 Ctrl+F 预览匹配数
- 若匹配结果超过 10000 处,Sublime 默认只创建前 10000 个光标(可在设置里调 max_find_results)
多光标与列编辑冲突怎么办
列编辑(Shift+鼠标拖拽 或 Ctrl+Shift+方向键)和多光标本质不同:列编辑是矩形区域选择,而多光标是离散插入点。两者不能共存——一旦进入列选模式,所有已有光标自动清除。
为什么这点容易被忽略:
- 很多人想“先列选几行,再在每行开头加 //”,结果发现光标没了
- 实际该用 Ctrl+Shift+L(行转光标)+ 左箭头 + //,而不是列选
正确路径:
- 列编辑适合对齐修改(如批量调参数缩进)
- 多光标适合非对齐、语义化修改(如改变量名、补括号)
- 二者切换时,记得看状态栏右下角:显示 Column Select 就是列模式,显示 Multiple Selections: N 才是多光标
复杂点在于:某些插件(如 Emacs Pro Essentials)会重定义 Ctrl+Shift+L,导致行转光标失效。遇到这种情况,直接查命令面板(Ctrl+Shift+P)搜 Select All Lines,手动绑定到原快捷键更稳妥。










