ctrl+alt+↑/↓是按字符列坐标复制光标,不依赖内容、符号或选区;而ctrl+shift+l是按行切光标,需配合列选(alt+拖拽)后补按才能同步输入;alignment插件仅格式化已选多光标区域。

Ctrl+Alt+↑/↓ 是最稳的竖向对齐方式
光标在哪列,新增光标就固定在哪列,不看内容、不数空格、不依赖符号——这才是真正“竖向对齐”的底层机制。它和 Ctrl+Shift+L 完全不同:后者是按行切光标,前者是按坐标复制光标。
-
Ctrl+Alt+↑或Ctrl+Alt+↓(Windows/Linux)会在当前光标正上方或下方的同一列位置插入新光标,哪怕那行只有两个字符,光标也硬插在第 5 列(如果原光标在第 5 列) - 若原光标在缩进里,新光标也会卡在缩进里;想避开缩进,先按
Home把光标拉到行首,再用Ctrl+Alt+↓ - 这个操作不依赖选区,也不需要提前选中多行——单个光标就能触发,适合快速纵向扩展
Alt+鼠标拖拽列选择后,必须补 Ctrl+Shift+L 才能同步输入
很多人拖完就直接敲字,结果只改了第一行。这是因为 Sublime 默认把矩形选区当单个整体处理,输入只作用于第一个光标位置。
- 正确流程:
Alt+左键拖拽→ 松手 → 按Ctrl+Shift+L→ 再输入 - 如果已经误输,不用重来:
Ctrl+Z撤回,再补按Ctrl+Shift+L即可挽救 - 列选边界会在短行末尾静默截断,肉眼难察觉。建议批量前开启
"draw_white_space": "all",让 Tab 和空格可见,确认列是否真对齐
Alignment 插件对齐 ≠ 光标对齐,别混用
Ctrl+Alt+A 是格式化命令,不是光标定位命令。它不会移动你当前的光标,只扫描已选中的多行,在等号、冒号等符号前后插空格,让视觉上纵向对齐。
- 前提:必须先用
Ctrl+Shift+L或Ctrl+Click创建多光标,且光标要落在待对齐符号的左侧区域(比如name =中的=左边) - 如果某行没出现
=,该行会被跳过;行尾有空格或注释会干扰对齐位置,建议先运行Trim Trailing White Space - 对齐后缩进错乱?大概率是混用了 Tab 和空格 —— 进入
View → Indentation → Convert Indentation to Spaces统一一下
为什么光标看起来对齐了,一输内容就偏移?
这不是 UI bug,而是 Sublime 的光标定位基于字符索引,不是视觉列。中文、全角符号、Tab 渲染宽度不一致时,字符数相同 ≠ 显示位置相同。
- Tab 在文件里是 1 个字符,但渲染成 2/4/8 个空格宽,不同行 Tab 设置不一致时,
Ctrl+Alt+↓会按字符数算,导致视觉错位 - 非等宽字体(如系统默认的 Segoe UI)会让竖线光标逐行漂移,换成
Fira Code或Consolas可缓解 - 开启
word_wrap后软折行被视作同一逻辑行,Ctrl+Alt+↓会跨折行延伸,而不是按屏幕行计算
Convert Indentation to Spaces 和 draw_white_space 看清真实结构,比反复试错快得多。











