sublime的“垂直光标”实为列选择(alt+拖拽)或键盘列扩展(ctrl+alt+↑/↓)生成的多光标阵列,并非独立功能;鼠标触发需按住alt(win/linux)或option(macos)垂直拖动,起点须对准目标列;若失效,先检查vintage模式或系统快捷键冲突;粘贴仅作用于主光标,应清空后直接输入以同步填充。

Sublime 的“垂直光标”不是独立功能,而是列选择(Alt+拖拽)或键盘列扩展(Ctrl+Alt+↑/↓)后自动生成的多光标阵列——它本质是多个光标落在同一列位置,而非某种特殊光标类型。
怎么用鼠标触发垂直光标(列选择)
这是最稳定、最常用的方式,不依赖快捷键冲突:
- 按住
Alt(Windows/Linux)或Option(macOS),再用鼠标从上到下垂直拖动,拉出矩形选区;松开后,每行对应列位置都会生成一个独立光标 - 拖动起点必须落在目标列位置:比如想在第 12 列插入内容,就从第一行第 12 列开始按住
Alt拖到底 - 如果拖不动或光标变箭头却不响应,先检查是否启用了
Vintage模式(Vim 模拟),它会劫持Alt行为;临时关闭方法:Preferences → Package Settings → Vintage → Settings – User,把"enabled": true改成false - 别用
Shift+鼠标拖拽——那是普通行内扩展,不是垂直对齐
为什么 Ctrl+Alt+↑/↓ 没反应
这个组合键本意是键盘版列扩展,但实际踩坑率极高:
- macOS 上默认被 Mission Control 占用(
Cmd+Option+↑),必须进系统设置 → 键盘 → 快捷键 → 调度中心,禁用对应项才能释放给 Sublime - Windows/Linux 下部分输入法(如搜狗、微软拼音)会拦截
Ctrl+Alt组合,切换成英文输入法再试 - 更可靠替代方案:先用鼠标列选一次,之后所有操作都基于已生成的光标阵列,无需反复触发
垂直光标状态下粘贴只作用于第一行?
这是最典型的误操作后果,根本原因在于粘贴行为不自动适配多光标:
-
Ctrl+V默认只向“当前活动光标”插入内容,而多光标中只有一个主光标(通常带粗体或闪烁更强),其余是辅助光标 - 正确做法是:列选 →
Del或Backspace清空原内容(确保所有光标还存在)→ 输入新文本,或用Ctrl+Shift+P调出命令面板 → 输入Insert Text at Carets→ 直接键入要填的内容 - 如果中间按了
Esc、方向键、或点了空白处,所有辅助光标立即消失,只剩一个,后续任何输入都只影响那一行 - 想批量填固定字符串,比复制粘贴更稳:列选后直接打字,所有光标位置同步输入;想填不同内容?得切回单光标逐个编辑
垂直光标真正难的不是“怎么出来”,而是“怎么不丢”——它极其脆弱,一个误触就退回单光标状态。与其反复重拉列选,不如养成“列选 → 清空 → 打字”的肌肉记忆,少依赖粘贴和外部剪贴板。











