Sublime Text 不支持鼠标右键列选择,因列编辑仅依赖左键/中键配合修饰键,右键与上下文菜单无关且无法绑定;正确方式为Alt+左键(Win/Linux)或Cmd+Option+左键(macOS)垂直拖动,或中键拖动。

Sublime Text 没有“列模式开启”这回事,鼠标右键也完全不参与列选择 —— 所有试图右键调出列编辑菜单、或右键拖拽的操作,都会失败。
为什么鼠标右键在 Sublime 里不能列选择
Sublime Text 的列选择是纯键盘+鼠标左键/中键的底层行为,和右键上下文菜单完全无关。右键弹出的菜单里没有任何列编辑选项,也不支持自定义绑定到右键。即使你装了第三方插件,原生 Sublime 仍不会响应右键拖拽触发矩形选区。
常见误操作包括:
- 右键长按后拖动 → 实际触发的是系统级文本选择(Windows)或无反应(macOS)
- 右键点击后选「Column Select」→ 菜单里根本不存在这个条目,属凭空想象
- 用鼠标右键 + Alt/Ctrl 组合 → 键盘修饰键只对左键/中键生效,右键组合被忽略
真正有效的列选择触发方式(按系统区分)
必须用左键或中键,配合对应修饰键,且顺序不能错:
-
Windows / Linux:按住
Alt键,再用鼠标左键从上往下垂直拖动(角度越接近90°越稳);或按住Ctrl+Alt+↓逐行向下加光标 -
macOS:按住
Cmd+Option(不是Ctrl+Cmd,也不是单按Cmd),再用鼠标左键垂直拖动;Cmd+Option+↓同样可用 - 最稳通用法:鼠标中键按住不放,直接上下拖动 —— 不依赖键盘,也不受系统快捷键冲突影响
列选择后为什么编辑只作用于第一行
这不是右键问题,而是多光标状态丢失的典型表现。列选本身只是创建了一个矩形选区,它还不是多光标编辑状态。必须手动转成多光标才能同步输入:
- 列选完成后,立刻按
Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS),把矩形选区拆成每行一个光标 - 此时再输入、删除或
Ctrl+V,才会作用于所有行 - 如果中间点了空白处、按了
Esc、或切换了标签页,多光标就消失了,只剩一个光标
容易被忽略的硬性前提
即使按键和鼠标都对,以下三项任意一项不满足,列选择就会静默失效:
-
"drag_text": true必须在Preferences → Settings中启用(默认是 true,但有人手动关过) -
Default包不能出现在ignored_packages列表里(否则底层矩形选择逻辑直接缺失) - Vintage 模式必须禁用:
view.settings().get("command_mode")返回False,否则Alt和Cmd+Option全部被 Vim 模拟劫持
列选择不是开关,是瞬时动作;它不记状态,不存历史,也不依赖右键。真正卡住的地方,往往不是“怎么开”,而是“为什么明明按对了却没反应”——先查那三个硬性前提,比反复试快捷键更省时间。

















