ctrl+shift+l只生成一个光标,因为它仅按选区中实际存在的换行符(\n或\r\n)切片,每换行符前放一个光标;未覆盖换行符即视为单行处理,安全做法是先ctrl+l逐行选中再执行。

Sublime Text 没有多行“同时输入”的开关或设置项,所有多光标编辑都依赖快捷键实时叠加光标位置——光标在哪,输入就落在哪;按错一个键(比如 Esc、→、Ctrl+X),所有光标立刻消失。
Ctrl+Shift+L 为什么只生成一个光标?
这个快捷键不是“选几行就加几个光标”,而是把「当前选区中每个换行符前的位置」各放一个光标。它只认选区里有没有 \n 或 \r\n,不看你心里想改几行。
- ✅ 正确做法:用鼠标拖选包含多行的文本(哪怕每行只选中一个空格),确保选区跨行且含换行符;再按
Ctrl+Shift+L - ❌ 常见错误:光标在行间跳动但没形成选区;或只选中纯空行(Sublime 默认忽略);或选区被软换行截断(需关闭
word_wrap) - ⚠️ 注意:
Ctrl+Shift+L后光标默认落在换行符前,即行尾;若要统一加在行首,得先按Home或运行命令面板里的Align Indent
如何精准控制光标落在每行末尾?
批量追加内容(如分号、逗号、引号)时,光标必须对齐到每行真实结尾,否则会插在中间或缩进里。
- 先用
Ctrl+L逐行选中目标行(每按一次选一行),再按Ctrl+Shift+L拆光标 - 接着按
End(Windows/Linux)或Ctrl+→(macOS),让所有光标跳到硬行尾(Hard EOL) - 如果部分行有 trailing space,
End会停在空格后——建议提前用Ctrl+Shift+P→Trim Trailing White Space - 列编辑(
Alt+Shift+鼠标拖拽)更适合严格对齐的场景,但它依赖等宽字体,且遇到制表符或混合空格时容易错位
正则替换比多光标更稳的两种情况
当目标行数多、结构规律、或你不敢手动点错光标时,正则替换反而更快更可靠。
- 全文件追加:打开
Ctrl+H,勾选.*(Regular Expression),查找$,替换为你要的内容(如;) - 仅作用于选中区域:先选中目标行块,再打开替换面板,勾选
In Selection和.*,同样用$查找 -
Find All(Alt+Enter)也能生成光标,但它只在匹配起始位置加光标,不适用于行尾这种无字符锚点的位置 - 注意:
$匹配的是行尾(\n前),不是文件尾;若最后一行没换行符,它不会命中
最易被忽略的一点:Sublime 的多光标是“瞬时状态”,不是“编辑模式”。它没有撤销多光标的操作,也没有光标历史;一旦误按方向键或 Esc,就得重来。真正高效的多行编辑,靠的是选区构建的确定性,而不是反复试错。











