sublime text 原生支持多行编辑,无需插件即可用 ctrl+click/cmd+click 添加光标、ctrl+d 逐词选中、ctrl+shift+l 拆分光标;最常被忽略的是 ctrl+alt+↑/↓(windows/linux)或 cmd+ctrl+↑/↓(macos)竖向增删光标。

如何确认 Sublime Text 已启用多行编辑基础功能
Sublime Text 本身原生支持多行编辑,无需插件就能用 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)添加多个光标,Ctrl+D 逐词选中重复内容,Ctrl+Shift+L 拆分当前行为多行光标。所谓“增强插件”,其实是补足原生缺失的场景:比如按列框选、跨文件批量改、正则驱动的智能光标插入等。
如果你只是想快速加几十个光标并输入相同内容,先别装插件——直接用 Ctrl+Alt+↑/↓(Windows/Linux)或 Cmd+Ctrl+↑/↓(macOS)即可竖向增删光标,这是最常被忽略的原生快捷键。
安装 ColumnSelect 实现真正列模式选择
Sublime Text 原生的 Alt+鼠标拖拽 在某些系统(尤其是高 DPI 或远程桌面)下会失效或偏移,ColumnSelect 是目前最稳定替代方案。
- 打开命令面板:
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS) - 输入
Package Control: Install Package回车 - 搜索
ColumnSelect,选中安装 - 安装后重启 Sublime Text(部分版本需重启才生效)
使用时按住 Alt + 鼠标左键拖拽即可精准框选矩形区域,不依赖 DPI 缩放设置。注意:该插件不兼容 Sublime Text 4 的 auto_complete 联动,若开启自动补全,列选中可能意外触发补全弹窗——建议在列编辑前临时关闭:Ctrl+Space 切换。
用 MultiEditUtils 解决光标越界和跨行对齐问题
当多行长度差异大时,Ctrl+Shift+L 拆分后光标会落在每行末尾,但你想让它们统一停在第 12 列?原生做不到。MultiEditUtils 提供了 Insert Cursor at Column 命令。
- 同样通过
Package Control: Install Package安装MultiEditUtils - 选中任意位置后,按
Ctrl+Shift+P→ 输入Insert Cursor at Column→ 输入数字(如12),所有光标将强制对齐到该列 - 它还提供
Expand Selection to Line,可把零散光标快速扩展为整行选中,适合批量删空行或注释
注意:该插件默认禁用 Ctrl+Shift+K(删除当前行),因与 Sublime 原生命令冲突。如需恢复,可在 Preferences → Package Settings → MultiEditUtils → Key Bindings 中删掉对应映射行。
避免插件冲突导致多光标失效的检查点
装完多个编辑类插件后,突然发现 Ctrl+D 不工作、光标不响应,大概率是快捷键或事件监听冲突。
- 打开
Preferences → Key Bindings,检查右侧用户键绑定中是否覆盖了find_under_expand(对应Ctrl+D)、split_selection_into_lines(对应Ctrl+Shift+L)等核心命令 - 临时禁用其他插件:进入
Preferences → Package Settings → [插件名] → Disable Package,逐个排查 - 特别留意
Emacs Pro Essentials和Vintageous这类模拟 Vim/Emacs 模式的插件——它们会劫持大量原生快捷键,且不提示
最稳妥的做法:只装一个增强型插件,优先选 ColumnSelect(轻量、专注、无副作用),其余靠原生命令组合完成。复杂编辑逻辑(如“在每行末尾加 ; 并缩进”)更适合写成 Python 插件或用 Ctrl+H 正则替换,而不是堆砌多光标插件。











