ctrl+enter在当前行下方、ctrl+shift+enter在上方插入空行,光标落于新行首;多行末尾换行需先ctrl+shift+l铺光标再end+enter;ctrl+shift+l依赖选中换行符切片,未选中则仅单光标。

Sublime 里“快速换行”不是靠光标移动实现的,而是用插入新行的原生命令——Ctrl+Enter 和 Ctrl+Shift+Enter 才是真·换行操作,不依赖选中状态,也不影响当前光标列位置。
Ctrl+Enter / Ctrl+Shift+Enter 是什么行为
这两个快捷键直接在光标所在行的下方或上方物理插入一个空行,光标自动落到新行开头。它们不删除原行、不移动文本、不触发多光标,就是纯粹“加一行”。
-
Ctrl+Enter:在当前行下方插入新行,光标跳到新行第 1 列 -
Ctrl+Shift+Enter:在当前行上方插入新行,光标同样落在新行第 1 列 - 哪怕光标停在中间(比如第 15 列),执行后新行仍是完整空行,不会带缩进或残留字符
- 选中多行时,只对光标所在行生效,不是批量插行——想批量,得配合多光标先铺开
想在多行末尾同时换行?别用 Ctrl+Enter
很多人想“给 5 行每行末尾都加一个换行”,误以为 Ctrl+Enter 能批量执行。它不能。正确路径是:Ctrl+Shift+L 铺光标 → End 统一拉到行尾 → 按 Enter。
- 必须先确保每行末尾的换行符被覆盖:全选(
Ctrl+A)再按Ctrl+Shift+L最稳;拖选容易漏掉最后一行的\n - 光标默认落在每行换行符前,直接按
Enter会把原换行符顶掉,变成两个连续换行;如果只想“追加换行”,得先按→或End移到行尾换行符之后 - 空行被
Ctrl+Shift+L处理后,光标落在空行开头,此时按Enter是在空行里再插一行,不是在它下面加行
Ctrl+Shift+L 总是只出一个光标?检查你有没有选中 \n
Ctrl+Shift+L 不是“多行开关”,它只做一件事:把当前选区按 \n 或 \r\n 切片,每片末尾放一个光标。没选中换行符,就永远只切出一个。
- 鼠标拖选时差一个像素没盖住行尾
\n,整个选区就被当单行处理——现象是所有光标堆在第一行末尾 - 安全做法:先
Ctrl+L(选中当前行)→ 按住Shift+↓扩展到目标行 → 再按Ctrl+Shift+L - 或者:全选整段(
Ctrl+A)→ 立刻Ctrl+Shift+L,确保每个\n都在选区内 - 注意:如果选区含缩进空格,光标就卡在缩进位置,输内容会覆盖缩进,看着对齐实则错位
真正危险的是你以为“换行”只是按 Enter
Sublime 处理的是纯文本流,\n、\r\n、软换行、制表符、空格——它全照收。所谓“看起来换行了”,可能只是软换行渲染效果,实际没有 \n;所谓“对齐了”,可能某行末尾多两个空格,导致 Ctrl+Shift+L 后光标位置偏移。
最常被忽略的一点:所有换行类操作都依赖你真正选中了什么,而不是你眼睛看到什么。光标位置永远由底层字节决定,不是由视觉渲染决定。











