Sublime多行编辑依赖快捷键叠加光标:Ctrl+Click/Cmd+Click精准定位,Ctrl+Shift+L按换行切选区,Ctrl+D逐词匹配,Alt+拖动实现列选择,操作成败取决于光标状态与文本格式细节。

Sublime 多行编辑不是“开个开关就能用”,而是靠快捷键实时叠加光标——按一次加一个,没光标就什么都不会发生。
Ctrl+Click / Cmd+Click 是唯一不依赖文本内容的起点
这是最可控的方式:点哪光标就在哪,适合改几处不规则位置(比如第3行变量名、第7行参数、第12行注释),也适合跨段落补符号或删字段。
- 必须先松开
Ctrl/Cmd再点击,否则可能拖出选区而非添加光标 - 软换行(
View → Word Wrap)开启时,同一逻辑列可能被拆到不同物理行,导致点偏——临时关掉更准 - 点了没反应?检查是否误触了触摸板手势(尤其 MacBook),可尝试外接鼠标或禁用三指拖拽
Ctrl+Shift+L 拆光标前必须先选中多行
Ctrl+Shift+L 不是“给当前行加光标”,而是把「已有选区」按换行符切开,每行末尾生成一个光标。它对空行也生效,但只认 \n 或 \r\n,不认制表符或空格后的“视觉换行”。
- 正确操作:鼠标拖选 5 行 → 松手 → 按
Ctrl+Shift+L→ 每行末尾出现光标 - 常见失败:只点了一下光标没选中任何文字,
Ctrl+Shift+L就静默跳过;或者选区里全是空格,光标会落在空格后,一输内容就把空格顶掉 - 想让光标统一落到行首?拆完后立刻按
Home(Windows/Linux)或Cmd+←(macOS)
Ctrl+D 逐词匹配容易漏改或误改
Ctrl+D 默认只匹配「完全相同、区分大小写、不跨行」的词,但它不会跳过注释或字符串——如果你在 JS 里改 data,而某行有 // data is invalid,它也会选中。
- 先放光标在第一个目标词上(别双击!双击会选中整词但可能带空格),再按
Ctrl+D,每按一次看高亮是否准确 - 看到不该选的,立刻按
Ctrl+U撤回上一次匹配,再继续 - 要忽略大小写?打开替换面板
Ctrl+H→ 点左下角Aa图标关闭「Match Case」,再回来用Ctrl+D - 想跳过当前匹配项(比如第2个
user_id是数据库字段不想动),按Ctrl+K,再按Ctrl+D
Alt+拖动是列选择,不是多光标
列选择本质是矩形块选,不是光标叠加。它能干多光标干不了的事:比如对齐等号、批量加引号、从日志里提取时间戳列。
- 必须按住
Shift+Alt(Windows/Linux)或Shift+Option(macOS),再用鼠标拖选——松手后才是真正的列选区 - 文件用了制表符缩进但显示宽度不一致(如
Tab Width=4,但某行混了空格),会导致视觉错位,列选区歪斜 - 启用了
"translate_tabs_to_spaces": true但没重载文件,旧 Tab 字符未转为空格,列选时卡在 Tab 字符边界
真正卡住人的地方,往往不是记不住快捷键,而是没意识到光标状态不可见——比如 Ctrl+Shift+L 后光标落在空行开头、Ctrl+D 误选了注释里的词、列选时被 Tab 和空格混合缩进带偏。这些细节不试几次根本发现不了。

















