必须按Ctrl+Shift+L(Win/Linux)或Cmd+Shift+L(macOS)将矩形选区拆为每行独立光标,否则输入仅作用于首行;若已误输,先Ctrl+Z撤回再执行该快捷键即可挽救。

Alt+鼠标拖拽后只改了第一行,怎么办?
这是最常被卡住的环节:矩形选区默认是单个整体,输入只作用于第一个光标位置。必须补一步才能激活并行编辑。
-
Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)是关键补救操作,它把矩形选区拆成每行一个独立光标 - 如果已经误输,不用重选:先按
Ctrl+Z撤回,再补按Ctrl+Shift+L即可挽救 - 若
Ctrl+Shift+L无反应,大概率是选区没包含换行符——鼠标拖选时最后一行末尾必须覆盖到\n,否则它当单行处理
Ctrl+Alt+↑/↓ 和 Alt+拖拽的区别在哪?
两者都能纵向对齐光标,但触发逻辑和适用场景完全不同。
-
Ctrl+Alt+↑/Ctrl+Alt+↓是“坐标复制”:光标在第 7 列,新光标就硬插在上下行的第 7 列,不管那行有没有内容、有没有缩进 -
Alt+鼠标左键拖拽(Windows/Linux)或Option+鼠标左键拖拽(macOS)是“矩形框选”:选中的是二维区域,本质是创建一个带边界的选区,后续需靠Ctrl+Shift+L拆解 - 前者适合快速纵向追加光标(比如给 20 行开头同时加注释),后者适合精确列对齐(比如 CSV 的第三列全替换)
列选边界静默截断,怎么提前发现?
Sublime 不报错,但某行太短时,选区会在该行末尾自动终止,导致漏改——尤其在混用空格/Tab、缩进不一致或开启软换行时极难察觉。
- 临时开启
"draw_white_space": "all"(Preferences → Settings → 用户设置里添加),让所有空格和 Tab 可见,再检查列是否真对齐 - 或按
Ctrl+Shift+P输入Show Scope Name,看光标实际落在哪一列坐标上 - 更稳妥的做法:批量操作前先运行
Convert Indentation to Spaces,统一缩进格式,避免 Tab 宽度漂移
为什么 Ctrl+Click 加光标没反应?
不是快捷键失效,而是 Sublime 默认开启了 drag_text,它会劫持 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)用于文本拖动。
- 打开 Preferences → Settings,在用户设置里明确关闭:
"drag_text": false - 其他干扰项:软换行(
View → Word Wrap)开启时,视觉列 ≠ 逻辑列;MacBook 触摸板三指拖拽也可能冲突 - 点击位置也有讲究:优先点行首、行尾或空格处,避开单词中间(易触发双击选词)和选区边缘(易进入列选择)
真正难的不是“怎么选”,而是“选得准”——列位置受 Tab 宽度、软换行、混合缩进共同影响,批量操作前务必验证光标坐标是否一致。

















