Sublime列选择模式需按住Shift+鼠标左键垂直拖动(Windows/Linux)或Cmd+Shift+鼠标左键(macOS),或用Ctrl+Alt+↑/↓(Win/Linux)、Cmd+Ctrl+↑/↓(macOS)添加垂直光标;关键要先按修饰键再拖动,否则退化为普通选中。

怎么快速选中多个相同位置的列(列选择模式)
Sublime 的列编辑是同步修改多行的基础,但很多人卡在「怎么进」和「怎么退」。Windows/Linux 用 Ctrl+Alt+↑/↓ 垂直添加光标,Mac 用 Cmd+Ctrl+↑/↓;更稳的方式是按住 Shift+鼠标右键 拖出矩形选区——只要鼠标横向拖动,就进入列选择,松手即生效。
注意:Ctrl+鼠标左键(多光标)适合不规则位置,而列选择只认「垂直对齐」,如果某行缩进不一致或中间有空格差异,选区会错位。遇到 JSON 或 CSV 对齐数据时优先用列选择;写函数参数列表或批量补逗号时,Ctrl+Shift+L 先把每行拆成独立光标再操作更可靠。
批量修改变量名或字符串时,为什么改了部分却漏掉几处
根本原因是 Sublime 默认开启 “auto_find_in_selection” 但没启用 “find_selected_text”,导致 Ctrl+F 查找时只作用于当前光标所在行,而非所有选中区域。正确做法是:先用列选或多光标选中目标范围 → 按 Ctrl+F → 输入要替换的文本 → 点击查找面板右下角的 “In Selection” 按钮(图标是两个重叠方块)→ 再按 Alt+Enter 全部替换。
常见坑:
- 没点
“In Selection”就直接Alt+Enter,结果全局替换了 - 用
Ctrl+H打开替换面板时,面板顶部未显示“In Selection”标识,说明当前没生效 - 选中内容含换行符时,正则模式下
.不匹配换行,得打开“.” 按钮(即 <code>regex面板里的.\n开关)
如何让多光标自动停在每行末尾或指定字符后
靠手动 Ctrl+Alt+→ 逐个跳太慢。更高效的是用 Ctrl+Shift+M(Select Scope)配合快捷键定位:先将光标放在一个目标字符(比如 =、: 或 ;)上 → 按 Ctrl+Shift+M 选中该符号所在语法单元 → 按 → 跳到符号后 → Ctrl+Shift+L 把每行都拆成光标 → 再按 End 或 → 统一移到行尾。
另一个轻量方案:用 Find → Find in Files(Ctrl+Shift+F),输入正则 ^.*(?=;)$ 匹配以分号结尾的行,勾选 Regex 和 In Selection,点击 Find All,所有匹配行末会自动生成光标。
同步编辑后格式乱了,缩进或括号不匹配怎么办
多光标编辑本身不触发自动缩进或括号补全,尤其是批量输入 { 或 [ 后,Sublime 不会自动加 } 或 ]。必须手动补全或借助插件。但别急着装插件——先检查设置:
"auto_match_enabled": true 和 "auto_indent": true 必须为 true(在 Preferences → Settings 中确认)。如果已开启仍无效,大概率是当前语法类型(bottom bar 显示的如 Plain Text)不支持智能匹配,切换成 JavaScript 或 Python 再试。
真正容易被忽略的一点:多光标状态下按 Tab 会插入制表符,但按 Shift+Tab 只对第一个光标生效,其余光标不会反向缩进。需要统一减少缩进,请用 Ctrl+Shift+P → 输入 Unindent → 回车执行命令。

















