Ctrl+Shift+L只出一个光标是因为它仅依据选区是否包含换行符(\n)判断,而非选中行数;鼠标拖选若未覆盖换行符即视为单行操作。

Ctrl+Shift+L 为什么只出一个光标?
它不看“你选了几行”,只认选区里有没有 \n。鼠标拖选时哪怕最后一行差一个像素没盖住换行符,Sublime 就当你是单行操作,Ctrl+Shift+L 只放一个光标。
更稳的做法是:先用 Ctrl+L 连按多次选中目标行(每按一次加一行),或用 Shift+Ctrl+End 从当前光标拉到文件尾,再按 Ctrl+Shift+L ——这样一定按行拆。
- 空行也会被拆出光标,光标落在行首;如果目标是行尾补内容,得额外按
End - 选中后若含软换行(
View → Word Wrap开启),\n位置会被视觉干扰,建议临时关闭 - 缩进混用
Tab和空格时,Ctrl+Shift+L后光标会落在各行最后一个非空白字符后,不是同一列
Alt+拖拽列选后输内容只改第一行?
列选本身只是矩形框选,不是多光标状态。Sublime 默认只对第一个光标执行输入,其余行完全不动——这不是 bug,是设计如此。
必须立刻按 Ctrl+Shift+L(Win/Linux)或 Cmd+Shift+L(macOS)把矩形切开,每行一个光标,才能同步编辑。
- 某行比矩形窄时,光标自动落到该行末尾,可能漏改;可先执行
Ctrl+Shift+P → Trim Trailing White Space - 粘贴多行内容会崩列——剪贴板里的换行符会被重复插入每个光标处;确保只粘单行,或清空剪贴板再操作
- 不想手动拆?列选后直接用
Ctrl+Shift+P → Insert Text at Carets填入内容,绕过粘贴错位问题
Ctrl+Click 加不了光标?drag_text 在拦截
默认开启的 drag_text 设置会让 Ctrl+Click(Win/Linux)或 Cmd+Click(macOS)优先触发文本拖动,而不是添加光标。这是鼠标党失效的头号原因。
必须打开 Preferences → Settings,在右侧面板(用户设置)中显式写入:"drag_text": false。
- 点击时务必先松开
Ctrl(或Cmd)再点,按住不放容易拖出选区 - 避开单词中间、缩进边缘、空行首字符位置;优先点行首空白处、行尾空格或纯空格列,稳定性更高
- 中文输入法可能劫持快捷键,切英文输入法再试
想统一在行首插入字符,但光标总在行尾?
Ctrl+Shift+L 拆完光标默认落在每行末尾(\n 前),不是行首。这是最常被忽略的细节,直接输入会把字符加在行尾。
正确流程是:选中 → Ctrl+Shift+L → 立刻按 Home(Win/Linux)或 Cmd+←(macOS)。所有光标会跳到各行文本起始位置。
- 若某行有缩进,
Home默认停在缩进开头;要到绝对行首,需再按一次Home或用Ctrl+Home/Cmd+Home - 列选择(
Alt+拖拽)只适合视觉对齐的文本;混用Tab和空格时,列选会静默偏移,建议先Convert Indentation to Spaces - 缩进不齐的代码块里强行列选,可能把字符插进缩进中间,而非真正行首
Ctrl+Shift+L 是两步独立动作,缺一不可;而 Home 移光标这一步,几乎每次都要手动补上。

















