sublime多光标依赖选区与快捷键实时叠加,ctrl+shift+l仅按换行符切分选区生成光标;行首插入需move to beginning of line,行尾追加应使用end或move to hard eol。

Sublime 的多光标不是“开启一个功能”,而是靠选区 + 快捷键实时叠加光标——按错一次 Esc、→ 或 Ctrl+X,所有额外光标立刻消失,必须重来。
为什么 Ctrl+Shift+L 只生成一个光标?
这个快捷键只做一件事:把「当前选区」按换行符 \n 切开,每段末尾放一个光标。它不识别“你想改哪几行”,只认选区里有没有 \n。
- 鼠标拖选时最后一行没覆盖到换行符(光标在行尾闪烁才表示选中了
\n),它就当单行处理 - 纯空行默认被忽略——若需处理,先在空行敲个空格再选中
- 最稳做法:
Ctrl+L逐行点击目标行(每按一次加一行选中),全部点完再按Ctrl+Shift+L - 检查快捷键是否被插件劫持:打开
Preferences > Key Bindings,搜索split_selection_into_lines
行首插入前缀(如 // 或 console.log()总插歪?
Home 键默认跳到“第一个非空白字符”,不是物理行首。有缩进时,光标停在缩进后,导致前缀插在中间,破坏对齐。
- 安全做法:拆出多光标后,按
Ctrl+Shift+P输入Move to Beginning of Line(Sublime Text 4+ 内置,无需插件) - 或用
Ctrl+A全选当前行,再按一次←(左箭头),光标就贴着行首 - 如果已用
Home落在缩进后,再按一次Home可跳过缩进到真正行首
行尾追加内容(如 ; 或 /* */)输不上去?
→ 键会停在行尾空格或制表符上,而非换行符前;此时输入,内容就插在空白里,看起来像“没加到末尾”。
- 优先用
End(Windows/Linux)或Cmd+→(macOS)——直抵换行符前 - 键盘无
End时(如部分 Mac 笔记本),连按两次→,第二下会越过末尾空白 - 更彻底:拆光标后,按
Ctrl+Shift+P输入Move to Hard EOL(Sublime Text 4+ 内置) - 列选择(
Alt+拖拽)不适用于行尾追加——它是按列号对齐的矩形选择,每行长度不同会导致错位
真正卡住人的从来不是快捷键本身,而是选区是否含换行符、光标是否落在硬行首/硬行尾——这两个点一旦模糊,批量操作就变成手动补救。











