Sublime多光标编辑通过快捷键按需叠加光标:Ctrl+Click/Cmd+Click添加光标,Ctrl+D逐个匹配相同词,Ctrl+Shift+G全选匹配项,Ctrl+Shift+L将选区按换行拆为多行光标。

怎么触发 Sublime 的多光标编辑
Sublime 的多光标不是靠“开启开关”,而是靠快捷键实时生成,核心逻辑是「按需叠加」:你每按一次快捷键,就新增一个光标,而不是切换某种编辑模式。
最常用的是 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)——直接在任意位置点一下,就加一个光标;想快速选中多个相同词,先选中一个,再按 Ctrl+D 逐个扩展选中下一个匹配项。
-
Ctrl+D是贪心匹配:它只找当前光标所在词的**下一个完全相同**的词(区分大小写、不跨行),连空格和标点都算进去 - 如果想一次性选中所有匹配项,用
Ctrl+Shift+G(不是Ctrl+G!后者是跳行号) -
Ctrl+MouseWheel可以横向滚动视图,但不会影响光标——别误以为这是缩放多光标
为什么 Ctrl+Shift+L 没反应或只拆一行
Ctrl+Shift+L 的作用是把当前每个选区按换行符「拆成多行光标」,但它只对已有选区起作用。如果你光标没选中任何东西,或者只点了一下没选中文字,它就什么也不做。
常见错误现象:Ctrl+Shift+L 按了没反应、只在第一行出现光标、甚至弹出命令面板——那大概率是你没提前选中内容,或选区里根本没换行符。
- 正确做法:先用鼠标拖选一段含多行的文本(比如 5 行日志),再按
Ctrl+Shift+L,每行末尾会生成一个光标 - 如果想对单行内多个字段同时编辑(比如 CSV 中的第 2 列),得先用正则选中:打开命令面板
Ctrl+Shift+P→ 输入Find: Replace...→ 开启正则.*?,(.*?),.*?,替换为$1再Ctrl+Shift+L - 注意:如果某行结尾是
\r\n(Windows)而另一行是\n(Unix),Ctrl+Shift+L仍能正常工作;但若某行末尾有空格或制表符,光标会落在空格后,容易误删
多光标编辑时 Tab 键失效或缩进错乱
这不是 Bug,是 Sublime 默认把 Tab 绑定为「插入缩进」而非「跳到下一个光标」。当你有多个光标时,按 Tab 会在每个位置插入当前语言的缩进(比如 4 个空格),而不是移动焦点。
真正用来「顺序切换光标」的是 Ctrl+↑ / Ctrl+↓(Windows/Linux)或 Cmd+↑ / Cmd+↓(macOS)。这个细节很多人卡住半天,因为直觉以为 Tab 就该跳。
- 如果真想用
Tab跳转,可以手动改键绑定:菜单 →Preferences → Key Bindings→ 在用户文件里加一条:{"keys": ["tab"], "command": "next_field", "context": [{"key": "num_selections", "operator": "greater_than", "operand": 1}]} - 多光标状态下输入文字是并行的,但输入
Enter会为每个光标插入换行,导致行数爆炸——这时候应该先Esc退出多光标,再单独处理换行 - 性能提示:超过 200 个光标时,Sublime 可能轻微卡顿,尤其在大文件里用
Ctrl+Shift+G全局匹配后——建议先用Ctrl+F预筛选范围
如何让多光标适配不同行长度(比如对齐编辑)
Sublime 原生不支持“垂直列选择”意义上的对齐光标(像 VS Code 的 Alt+Click 那种),但可以用 Ctrl+Shift+P → Selection: Expand Selection to Line + Ctrl+Shift+L 组合逼近效果。
更稳的办法是借助插件 Column Select(需 Package Control 安装),但它会覆盖原生行为;如果你不想装插件,记住一个土办法:先用正则把目标列“抠出来”。
- 例如编辑 JSON 数组里所有
"name"字段的值:搜索"name"\s*:\s*"([^"]*)",勾选正则,全部选中后Ctrl+Shift+L,就能在每个引号内生成光标 - 如果行尾长度不一,用
Ctrl+Shift+↑/↓扩展选区到行首/行尾,再Ctrl+Shift+L,比手动拖更准 - 注意:中文标点、全角空格、不可见的零宽字符(如
\u200b)会让正则匹配失败,建议先用View → Show Console输入view.encoding()确认编码,再开正则调试
多光标真正的复杂点不在操作本身,而在“选得准不准”——它不智能判断语义,只认字面匹配和位置。所以每次按 Ctrl+D 前,先看一眼光标停在哪、当前选中了什么,比盲目连按十次更省时间。










