列选择后无法跨行输入是因为它仅创建矩形选区而非多光标;需用Alt+鼠标拖拽(或Ctrl+Alt+↑/↓)生成多光标,再输入才能同步生效。

Sublime列选择后为什么输不了字?
列选择(即块选择)本身不等于多光标编辑——它只生成一个矩形选区,不是多个独立光标。直接打字会替换整个选区内容,而不是在每行同一列位置“插入”新字符。想跨多行输入相同内容,必须把列选区转成多个光标。
怎么用Alt+鼠标拖拽实现真正跨行输入
按住Alt(Windows/Linux)或Option(macOS),再用鼠标从上到下拖出一个矩形区域,松手后每行对应列位置都会生成一个光标。此时输入的内容会同步出现在所有光标处。
- 拖拽起点必须落在文本区域内,不能悬在行尾空白或空行上,否则部分行可能没光标
- 如果目标列有缩进不齐(比如混用空格和Tab),光标会错位——建议先用
View → Indentation → Convert Indentation to Spaces统一 - 拖完别急着输,先看是否所有目标行都亮起了光标;漏了某行?补按
Ctrl+Click(或Cmd+Click)手动加
键盘方式列选择:Ctrl+Alt+方向键的坑
Ctrl+Alt+→或Ctrl+Alt+←能扩展列选范围,但它是“增量式列扩展”,不是“逐行加光标”。容易误操作成横向拉宽而非纵向覆盖多行。
- 正确做法:先用
Ctrl+L选中目标行范围,再按Ctrl+Shift+L把每行转为光标,最后用End或Home定位到列位置,再Ctrl+Alt+↑/↓微调光标垂直分布 -
Ctrl+Alt+↑/↓是真正按行增减光标的快捷键,但它默认从当前光标出发向上/下逐行添加,不依赖已有选区 - 若文件有折叠代码块,
Ctrl+Alt+↓会跳过折叠区域,得先展开或手动Ctrl+Click
行尾批量加内容别用列选择
想在每行末尾加;或// TODO,列选择反而容易出错——因为行尾位置不一致(有的有空格、有的没、有的被折叠)。更稳的路径是:
-
Ctrl+L连选多行(或Ctrl+A全选) -
Ctrl+Shift+L拆成行尾光标 - 按
End确保所有光标落到行末(注意:如果某行是空行,End会把它带到行首,需提前过滤空行或用正则^\s*$查找替换) - 输入内容,完成
列选择适合对齐字段、补前缀、改固定列宽数据;一旦涉及“行尾”“行首”这类动态位置,就得切回行级光标逻辑——这是最常被忽略的边界。

















