最稳的行尾批量修改方式是Ctrl+Shift+L拆光标后按End再输入;其原理是按选区内的\n切分光标,无\n则仅第一行生效,需确保选区含换行符或用Ctrl+L逐行选中。

Ctr+Shift+L 拆光标后按 End 再输入,是最稳的行尾批量修改方式;别信“选中多行直接打字”,那只会改第一行。
Ctrl+Shift+L 为什么只在第一行生效?
它根本不是“给多行加光标”,而是把当前选区里每个 \n 当作切点——选区不含换行符,就当单行处理。
- 鼠标拖选时最后一行末尾没覆盖到换行符(视觉上像选中了,实际漏掉
\n),Ctrl+Shift+L就只生成一个光标 - 空行也会被拆出光标,但光标落在行首;若想补内容到行尾,得手动按
End或→ - 更安全的做法:先用
Ctrl+L连续点击目标行(每按一次选一行),再统一按Ctrl+Shift+L
怎么确保所有光标都精准落到行尾?
拆完光标后别急着输,先统一移动位置——End 是最直接的,但在某些远程桌面或键盘布局下可能无效。
-
End键失效时,改用Ctrl+→(跳到单词末尾)或→(逐字符右移,慢但可靠) - 如果行尾有空格或
\r\n,光标可能卡在不可见字符后;建议操作前先运行命令面板:Ctrl+Shift+P→Trim Trailing White Space - 不想动原始缩进?避免用列选择(
Alt+Shift+拖拽),它依赖等宽字体和严格对齐,错一位就全偏
正则替换 $ 加后缀比多光标更快?
是,但必须勾选 .*(Regular Expression),否则 $ 就是普通字符。
- 查找框填
$,替换框填你要加的内容(如;),点“全部替换”即可 - 若某行末尾有空格,
$默认匹配“非换行符之后”,结果后缀加在空格后面;改成\s*$更稳妥 - 只想改选中的几行?别用正则替换,先
Ctrl+L选行 →Ctrl+Shift+L→End→ 输入,响应即时且可控
为什么刚加完光标就只剩一个了?
Sublime 不是“保留多光标等你操作”,而是“任何文本变更都会触发光标收敛”——这不是 Bug,是设计逻辑。
- 按了方向键、删了字符、甚至敲了个字母,非活动光标就立刻消失
- 误操作后别慌:
Ctrl+U可撤销最近一次光标合并,但仅限一次;更可靠的是重来一遍 - 最常被忽略的配置:
"drag_text": false必须设为false,否则Ctrl+Click会优先拖动文本而非添加光标
真正难的不是记住快捷键,而是每次按下 Ctrl+Shift+L 前,确认选区里有没有 \n、行尾有没有空格、drag_text 关没关——这些细节不看状态栏,只靠手感判断。

















