Sublime多光标操作需严格遵循瞬时态规则:Ctrl+Shift+L按\n切片、Ctrl+D字面匹配、列选择依赖等宽字体,任何延迟或误操作均导致光标合并。

Ctrl+Shift+L 拆光标前必须确认选区含换行符
这个操作不是“识别多行”,而是按 \n 切片——选区里没换行符,它就只放一个光标。鼠标拖选时漏掉最后一行末尾的 \n 是最常见失效原因。
- 安全做法:先用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行选中目标行,再按Ctrl+Shift+L,100% 生效 - 如果光标落在缩进空格上,说明你选区包含了开头的空格或制表符;想统一加前缀(如
//),应先按Home把所有光标拉到行首 - 想加后缀(如
;),先按End或Ctrl+→跳到行尾再输,避免覆盖原内容
Ctrl+D 匹配变量名总跳过目标项?看光标位置和匹配边界
Ctrl+D 不是搜索,是“从当前光标所在词出发,找下一个字面完全一致的片段”。它受 match_whole_word 和大小写严格控制。
- 双击选中
user_id再连按Ctrl+D,会跳过user_id_list(多了_list)和USER_ID(大小写不符) - 光标停在单词中间(比如
user_name的_name部分),可能只取到_name,后续全错 - 注释里有同名字符串干扰?按
Ctrl+K再按Ctrl+D可跳过当前高亮项,光标保留在原位
列选择(Alt+Shift+拖拽)错位的根本原因是字体或对齐不一致
列选择本质是矩形框选,依赖等宽字体和垂直列对齐。它不智能纠错,只按字符数定位。
- 某行太短,光标停在该行尾——这是正常行为;但若视觉偏移,大概率是用了非等宽字体(如系统默认 UI 字体),换成
Consolas或Fira Code立刻稳定 - 中英文混排时慎用:中文字符占位宽度 ≠ ASCII,Sublime 按字符数定位,视觉上必然偏移
- 某行对应列是空格或制表符,Sublime 会把光标移到该行行尾;建议先运行
Convert Indent to Spaces统一缩进,或手动补空格对齐
多光标状态下输入前必须“立刻行动”,否则光标自动合并
Sublime 的多光标不是模式,是实时叠加状态。任何方向键、删除、甚至一次误触都会触发收敛逻辑——这不是 bug,是设计。
- 按下
Ctrl+Shift+L后,**立刻输入新内容**;不要先按方向键、不要删、不要点鼠标 - 想删所有匹配项?直接按
Delete或Backspace,别先Ctrl+X - 已失焦只剩一个光标?
Ctrl+U可撤销最近一次光标合并,但仅限一次;更稳妥的是重做选区 +Ctrl+Shift+L
真正卡住人的从来不是快捷键记不住,而是以为它像 IDE 那样有“编辑模式”——Sublime 的多光标是瞬时态的,松手即散,输错即毁,对齐靠人,容错为零。











