sublime列编辑通过alt/option+鼠标左键拖动实时触发,非开关式;纯垂直拖动最稳,松开alt后输入才能同步修改多行。

Sublime 怎么开启列编辑(垂直块选择)
直接按住 Alt(Windows/Linux)或 Option(macOS),再用鼠标左键从起始位置斜向或垂直拖动,就能立刻进入列编辑模式——它不是“开启一个开关”,而是实时触发的交互模式,松开就退出。
- 纯垂直拖动最稳:如果水平拖一点、再往下拉,Sublime 有时会误判为普通选区(尤其在行尾有空格时)
- 别指望菜单里找“列编辑”按钮:Sublime 没有常驻的列模式开关,全靠快捷键+鼠标组合触发
- 中键拖动不通用:部分系统或鼠标驱动下
Shift+中键可能无效,Alt+左键是唯一跨平台可靠路径
键盘党怎么不用鼠标做列选择
光标定位到起始位置后,按 Ctrl+Alt+↑/↓(Windows/Linux)或 Cmd+Option+↑/↓(macOS),可逐行向上/向下扩展列选区域——本质是给每行同一列位置加一个光标。
- 适合对齐良好的代码块,比如多行赋值语句的等号右侧、JSON 的 value 区域
- 若想横向扩展列宽,得先用
→或Shift+→扩展当前行选区,再用方向键纵向延伸 -
Ctrl+Shift+L(Windows/Linux)是另一条路:先选中一列文本,再执行该命令,会把每行匹配位置转成独立光标——但要求各行结构高度一致,否则容易错位
列编辑后输入内容,为什么只改了一行?
常见错误是:列选完成后没松开 Alt 就直接打字——这时 Sublime 仍处于“列选择状态”,输入会被当作替换操作,只作用于当前光标所在行的选区;必须先松开 Alt,再输入,才能同步写入所有行。
- 正确节奏:按住
Alt→ 拖出矩形 → 松开Alt→ 输入文字 → 所有行对应位置同时更新 - 如果列选区域包含空行或缩进不齐的行,某些行可能没被覆盖到——列编辑严格按字符列计算,不感知语法或缩进逻辑
- 删掉列内容时,别用
Delete,用Backspace更稳妥;前者在部分配置下会吞掉整行
和 VSCode 列选择的区别在哪
VSCode 的 Alt+拖动 是“块选择”,而 Sublime 的 Alt+拖动 是“列选择”,表面一样,底层行为不同:VSCode 允许非矩形斜向选区(只要按住 Alt 拖就行),Sublime 必须是矩形,且对起始点敏感。
- VSCode 可通过设置
"editor.columnSelection": true强制启用,Sublime 没这个开关,也无需开启 - Sublime 不支持
Shift+Alt+方向键 扩展列选区,这是 VSCode 特有逻辑 - 如果习惯 VSCode 的
Ctrl+D多光标追加,别试图在 Sublime 里用同样节奏做列编辑——它俩解决的是不同问题:一个是语义匹配,一个是物理对齐
Alt”——手比脑子快,一不留神就回到单行编辑了。










