sublime text列编辑需按住alt(win/linux)或option(macos)再左键垂直拖动,松开即结束;列选后需ctrl+shift+l(win/linux)或cmd+shift+l(macos)转为多光标才能批量输入。

Sublime Text 没有“开启列编辑模式”这回事,它不保存状态、不切换开关,只响应「修饰键按下 + 鼠标左键拖动」这一瞬时动作——松开就结束,再拖再进。
怎么用鼠标触发列选择(不是右键,也不是Shift)
Windows/Linux 用 Alt + 左键垂直拖动;macOS 用 Option + 左键(部分系统需配合 Ctrl+Cmd,单按 Cmd 或 Ctrl 无效)。必须先按住修饰键,再点下左键并拖动——如果先点再按,只会普通选中或光标跳转。
- 拖动时看到灰色矩形框才算成功;横向偏移超过 15 像素会退化为普通文本选择
- 右键完全不参与列编辑:弹出菜单是系统行为,所谓“右键列选”基本是误判或插件干扰
- 若拖不动,检查
Preferences → Settings中"drag_text": true是否被设为false
列选完敲字/粘贴只改第一行?漏了这一步
列选择生成的是「矩形选区」,不是多光标。输入默认只作用于第一个光标位置。要批量生效,必须立刻按 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS)将其拆成每行一个独立光标。
- 已误输可用
Ctrl+Z撤回,再补按即可挽救 -
Ctrl+V粘贴不会自动同步到所有光标;更稳的方式是Ctrl+Shift+P→ 输入Insert Text at Carets→ 直接键入内容 - 验证是否真有多光标:按
Ctrl+Shift+P输入Show Scope Name,看多个光标是否落在同一列号上
为什么看着对齐,一输就歪
列编辑按屏幕坐标对齐,不是逻辑字符位置。混用 \t 和空格、开启 word_wrap、存在代码折叠,都会导致视觉对齐但实际错位。
- 执行
Convert Indentation to Spaces统一缩进,避免制表符干扰列计算 - 关闭
View → Word Wrap,防止软换行被当新行处理 - 展开所有折叠:
Ctrl+K → Ctrl+J(Windows/Linux)或Cmd+K → Cmd+J(macOS) - 空行或超短行会导致该行无内容可选,输入直接插在行尾——这不是操作错,是文本结构本身不支持垂直对齐
真正复杂的地方从来不是“怎么选”,而是你根本不知道它没选全:灰色矩形看着连贯,但折叠行、软换行、混合缩进会让选区静默断裂,且毫无提示。











