ctrl+j仅合并选区或光标所在行与下一行,不支持全局合并;空行需提前清理,多行转分隔符推荐正则替换?
,含特殊字符时用列编辑更安全,高频操作可绑定自定义快捷键。
Ctrl+J 是最快捷的合并方式,但只对选区生效
Sublime Text 没有“全局一键合并所有行”的命令,join_lines 命令(快捷键 Ctrl+J / Cmd+J)只作用于你当前**手动选中的文本块**。没选中任何内容时,它只会合并光标所在行与下一行——这不是 bug,是设计行为,但容易误以为“失灵”。
- 必须先用鼠标拖选、或
Shift+↓扩展选区,再按Ctrl+J;否则只会动两行 - 合并后每行之间插入一个空格,且会自动 trim 行首尾空白,但**不清理中间多余空格**(比如原行末有缩进或空格,可能变成
foo bar) - 空行也会被压成一个空格,若原始数据含空行,结果会出现异常间隔,建议提前执行
Ctrl+Shift+P → Remove Empty Lines
要用逗号/分号连接?正则替换比改空格更可靠
想把多行转成 a,b,c 或 SELECT * FROM t1; SELECT * FROM t2; 这类格式,别先按 Ctrl+J 再手动替换空格——空格位置不可控,且容易漏掉行首尾残留空白。
- 直接打开替换面板:
Ctrl+H(Windows/Linux)或Cmd+H(macOS) - 点击右上角
.*启用正则模式 - 查找框填:
?(兼容 Windows/macOS/Linux 所有换行符)
- 替换框填:
,(逗号+空格)或;(分号无空格),视需求而定 - ⚠️ 注意:如果最后一行末尾有换行符,替换后会多出一个逗号或分号,可后续执行
Ctrl+Shift+P → Trim Trailing White Space清理
列编辑适合带引号、逗号等特殊字符的字段拼接
当每行是 "apple, inc"、"banana "ripe"" 这类含转义、嵌套分隔符的字符串时,全局替换 会破坏结构。这时该放弃正则,改用列编辑手动控制连接点。