Sublime多光标依赖精准选区与光标位置:Ctrl+Shift+L仅对含换行符的选区生效;Home键默认跳至首非空字符,需用Move to Beginning of Line确保行首;End或Move to Hard EOL保障行尾插入;列选择需等宽字体且仅适用于固定列操作。

Sublime 的多光标不是“开启功能”,而是靠选区+快捷键实时叠加——按错一次 Esc、→ 或 Ctrl+X,所有光标立刻消失,必须重来。
Ctrl+Shift+L 没反应?先检查选区是否含换行符
这个快捷键只对「已选中的、带换行符的文本」生效。它不会识别“你想改哪几行”,只把选区里的 \n 当作切片点。
- 鼠标拖选时,务必拖到每行末尾的换行符位置(光标在行尾闪烁再松手),否则少一个光标
- 纯空行默认被忽略——若需处理,先在空行敲个空格再选中,或改用列选择
- 更稳做法:
Ctrl+L(Windows/Linux)逐行点击目标行,全部点完再按Ctrl+Shift+L - 如果装了 Emmet 等插件,可能劫持该快捷键:进
Preferences > Key Bindings搜索split_selection_into_lines确认绑定是否正常
行首插入前缀(如 // 或 console.log()别乱按 Home
Sublime 的 Home 默认跳到“第一个非空白字符”,不是物理行首。缩进存在时,光标会停在缩进后,导致前缀插在中间,破坏对齐。
- 安全操作:拆出多光标后,按
Ctrl+Shift+P输入Move to Beginning of Line(内置命令,无需插件),光标精准落到每行最开头 - 或先按
Ctrl+A全选当前行,再按一次 ←(左箭头),也能抵达行首 - 如果已用
Home落在缩进后,再按一次Home可跳过缩进到真正行首
行尾追加内容(如 ; 或 /* */)慎用方向键 →
单按 → 会停在行尾空格或制表符上,而非换行符前。此时输入内容,会插在空白里,看起来像“没加到末尾”。
- 优先用
End(Windows/Linux)或Cmd+→(macOS),它们直抵换行符前 - 键盘无
End(如部分 Mac 笔记本):连按两次→,第二下会越过末尾空白 - 更彻底:拆光标后,按
Ctrl+Shift+P输入Move to Hard EOL(Sublime Text 4+ 内置),强制跳到硬行尾
列选择(Alt+拖拽)不等于“行尾插入”,它只认列号
列选择是矩形框选,按固定列数对齐,不是按每行长度动态找行尾。每行长度不同,强行用它插“行尾”,结果就是字符插在中间,视觉错位。
- 适用场景:给表格字段统一加引号、对齐参数、在第 20 列批量加注释符号
- 不适用场景:给
user_id = 1和long_variable_name = "abc"这类长度差异大的行末尾加; - 启用条件:必须
Alt+Shift+鼠标拖动(Windows/Linux)或Option+Shift+拖动(macOS),单独按Alt无效 - 字体必须等宽(如
Fira Code、Consolas),否则列定位漂移
真正卡住人的从来不是快捷键本身,而是选区怎么建、光标落点是否精确——尤其在缩进混合空格/Tab、行尾有空白、空行穿插的代码里,差一个字符的位置,就全乱了。

















