多光标操作需严格依赖选区与换行符:必须先用ctrl+l逐行点击或拖选至行尾换行符,再按ctrl+shift+l拆分;空行需先加空格,home键需配合move to beginning of line确保行首对齐;行尾添加应优先用end或move to hard eol,列选择仅适用于等宽字体下的固定列操作。

多光标不是“开启功能”,而是靠选区+快捷键实时叠加光标——按错一次 Esc 或方向键,所有光标就消失,必须从头来。
Ctrl+Shift+L 拆光标前,必须先有“按行选中”的选区
这个快捷键不会自动识别“你想改哪几行”,它只把当前选区里的换行符(\n)当作切片点。鼠标拖选漏掉最后一行的换行符、或选中了空行但没包含其 \n,结果就是光标少一个或歪到奇怪位置。
- 最稳做法:
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行点击目标行,每按一次加一行选中;全部点完再按Ctrl+Shift+L - 如果拖选,务必拖到每行末尾的换行符位置(光标在行尾闪烁时再松手)
- 纯空行默认被忽略——若需处理空行,先在空行里敲个空格再选中,或改用列选择
行首插入前缀(如 // 或 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),否则列定位漂移
真正卡住人的从来不是快捷键记不住,而是光标到底落在哪——它不显示坐标,也不高亮当前列,全靠你对选区和按键行为的理解。每次按 Ctrl+Shift+L 前,先确认选区是否干净、是否含换行符、是否避开空行干扰,比反复重试快得多。











