Ctrl+Shift+L仅按选区中换行符数量拆分光标,不识别视觉多行;必须先确保选区含\n(如用Ctrl+L逐行选中或正则替换分隔符为\n),否则只生成一个光标。

Sublime Text 里用键盘选中多行,核心不是“框选”,而是“光标叠加”——鼠标拖出来的永远是单个连续选区,真要多行同时编辑,必须靠快捷键生成多个独立光标。
Ctrl+Shift+L 拆行光标:只认换行符,不看缩进对齐
它把当前选区按 \n 切成多个光标,每行一个,但光标默认落在换行符前(即行尾),不是同一列。
- 常见错误:选中 4 行不同缩进的代码后直接按
Ctrl+Shift+L,结果光标歪斜,输内容时前缀错位 - 安全做法:先按
Home把所有光标拉到行首,再按Ctrl+Shift+L;或选中后执行命令面板(Ctrl+Shift+P)搜Align Indent对齐再拆 - 空行也会被拆出光标,但光标停在开头,容易漏改——处理 JSON 或配置文件时务必手动扫一眼
Ctrl+L 连续选整行:光标在哪,就从哪开始向下扩
Ctrl+L 是 Sublime 唯一原生、稳定、不依赖插件的整行选中方式,但它选的是“逻辑行”,不是视觉上看到的那几行。
- 按一次
Ctrl+L:选中光标所在行(不含换行符);再按一次:向下扩展一行;连按三次 = 选三行 - 如果光标卡在折叠代码块内,
Ctrl+L只会选中展开后的当前行,不会自动展开;需先按Ctrl+Shift+[展开后再操作 - 混用
CRLF和LF换行符时,Ctrl+L可能跳行异常——统一用LF(菜单 → View → Line Endings → Unix)可避免
Alt+方向键列选择:不用鼠标也能垂直选,但必须配合 Ctrl+Shift+L 才能编辑
键盘列选择是 Ctrl+Alt+↑/↓(Windows/Linux)或 Cmd+Option+↑/↓(macOS),但它只生成列选区,不能直接打字修改。
- 列选后必须按
Ctrl+Shift+L把矩形选区转为多光标,否则输入只会覆盖第一行 - 起点位置决定列宽:想在每行第 12 列插入内容,先用
Ctrl+→移动光标到第 12 列,再按Ctrl+Alt+↓向下延伸 - 如果语言模式设错(比如 .js 文件被识别为 Plain Text),
Ctrl+Alt+↓可能失效——检查右下角语言名,手动切回正确语法
Ctrl+Click 添加离散光标:适合跳着改,但得防误触发 drag_text
这是唯一支持非连续行、任意位置加光标的键盘方式,但行为受配置项直接影响。
- 如果
Ctrl+Click没反应,大概率是用户设置里写了"drag_text": false——删掉这行或改成true即可恢复 - 点完只剩一个光标?可能是某行光标卡在行尾未同步,按
Ctrl+U可逐次撤销最近添加的光标 - 想跳过某处匹配(比如避开注释里的同名变量),先按
Ctrl+K,再按Ctrl+D,它会跳过当前高亮项继续找下一个
真正难的不是记住快捷键,而是接受 Sublime 的底层逻辑:它没有“选中区域后批量操作”这种抽象层,所有多行编辑都建立在光标坐标上。一旦光标没落对位置,后续所有操作都会偏移——所以每次按 Ctrl+Shift+L 前,先确认光标是否在预期列;每次用 Ctrl+L 扩行,先看右下角换行符类型和语言模式。这些细节不显眼,但错一个,就得切回鼠标重来。

















