Sublime Text无鼠标右键垂直选择功能,唯一可靠方式是Alt/Option+左键拖动触发列编辑;列选后须按Ctrl+Shift+L(Win/Linux)或Cmd+Shift+L(macOS)转多光标才能批量编辑,否则仅首行生效。

Sublime Text 没有鼠标右键垂直选择功能,按右键只会弹出菜单——别在右键上浪费时间。
Alt/Option + 左键拖动才是唯一可靠触发方式
列编辑不是“开启一个模式”,而是实时触发的交互行为:Windows/Linux 必须按住 Alt、macOS 必须按住 Option,再用鼠标左键从起始位置拖动。松开即生效,拖动时看到灰色矩形框才算成功。
- 先点再按
Alt→ 变成普通选区,无效 - 拖动角度太斜或含水平位移 → Sublime 会退化为行内选择
- 检查
"drag_text": true是否被设为false(在Preferences → Settings中) - 若拖不动,确认
Default包未被加入ignored_packages
列选完直接打字只改第一行?漏了 Ctrl+Shift+L 这一步
Sublime 默认把矩形选区当单个整体处理,输入只作用于第一个光标位置。真正批量编辑前,必须手动转成多光标:
- Windows/Linux 按
Ctrl+Shift+L,macOS 按Cmd+Shift+L - 漏这步就敲字,只会改首行;已误输可用
Ctrl+Z撤回,再补按即可挽救 - 验证是否真有多光标:按
Ctrl+Shift+P输入Show Scope Name,看光标是否落在同一列号
对齐失效的三个真实原因
看起来对齐了,实际光标错位,是列编辑最隐蔽的坑。问题不在操作,而在文本底层状态:
-
Tab和space混用:即使显示对齐,字符偏移不同 → 光标落在“视觉对齐、逻辑错位”的地方 - 存在代码折叠:列选无法穿透折叠行,选区会在折叠处中断,且无提示
-
word_wrap启用:true会让软换行被当新行处理,纵向坐标系统错乱
实操建议:编辑前先执行 Convert Indentation to Spaces,临时关闭 word_wrap,展开所有折叠(Ctrl+K → Ctrl+J)。
键盘党怎么不用鼠标做列编辑
定位光标到起始列后,用组合键逐行加光标,比拖鼠标更精准,也避开输入法/系统快捷键干扰:
- Windows/Linux:
Ctrl+Alt+↓向下逐行加光标,Ctrl+Alt+↑向上加 - macOS:
Cmd+Option+↓或Cmd+Option+↑ - Vintage 模式会劫持
Ctrl行为,若无效可查view.settings().get("command_mode")是否为True
列编辑真正的复杂点,从来不是“怎么选”,而是“你根本不知道它没选全”。对齐靠转换,验证靠命令,别信眼睛。

















