Ctrl+J(Windows/Linux)或Cmd+J(macOS)可将选中的多行合并为一行,以空格分隔;需确保真实选中多行、关闭中文输入法、避免系统级快捷键冲突。

Sublime Text 多行合并成一行的快捷操作
直接按 Ctrl+J(Windows/Linux)或 Cmd+J(macOS),就能把选中的多行合并为一行,中间用空格分隔。这是 Sublime 原生支持、无需插件的核心功能。
常见错误现象:按了没反应——大概率是没选中多行内容,或者光标在单行末尾但未进入多行选择状态;也可能是你用了中文输入法,导致快捷键被拦截。
- 必须先选中至少两行(可用鼠标拖选,或按住
Ctrl+↑/↓添加多行光标) - 合并后每行原结尾的换行符会被空格替代,包括行首/行尾的空白也会保留,比如
hello\n world→hello world - 如果想用其他分隔符(如逗号、制表符),不能靠
Ctrl+J直接实现,得走替换流程
用正则替换去掉换行、自定义分隔符
当需要把换行替换成逗号、分号或空字符串时,Ctrl+H 打开替换面板,开启正则模式(.* 按钮),搜索 \n 或 \r\n,替换为想要的字符。
使用场景:整理日志、拼 SQL IN 列表、处理 CSV 原始数据等。
-
\n覆盖大多数情况;Windows 文件可能需匹配\r\n,可统一搜\r?\n - 注意关闭「Match Case」和「Whole Word」,避免误漏
- 如果行末有空格,建议先用
Ctrl+Shift+P→Trim Trailing White Space清理,否则会得到item1 ,item2这种带多余空格的结果
多光标编辑 + 剪贴板粘贴导致的“假多行”问题
有时候你以为自己在合并多行,实际只是多个光标分散在不同行——这时按 Ctrl+J 会失败,因为 Sublime 认为这不是“选中多行”,而是“多处独立编辑”。
典型表现:按 Ctrl+J 后什么都没变,甚至光标位置错乱。
- 确认是否真选中了文本:看状态栏有没有显示“x lines selected”
- 多光标状态下,先按
Esc退出多光标,再用鼠标或Shift+↑/↓重新选中连续多行 - 粘贴内容时若自动换行(比如从 Excel 粘贴),Sublime 会生成真实换行符,这时才适用
Ctrl+J;但若只是视觉换行(如长文本自动折行),那根本不是多行
Mac 上 Command+J 不生效的几个现实原因
不是快捷键坏了,是 macOS 系统级冲突更常见:iTerm、Alfred、输入法(尤其搜狗、百度)、甚至某些 IDE 都会劫持 Cmd+J。
性能影响几乎没有,但兼容性卡点很具体。
- 先试系统偏好设置 → 键盘 → 快捷键 → 输入源,关掉“选择上一个输入源”的快捷键(默认常设为
Cmd+Space或Cmd+Shift+Space,但有些版本会误配到Cmd+J) - 检查 Alfred 是否启用了「Clipboard History」并绑定了
Cmd+J - 临时切换到英文输入法再试,排除中文输入法热键干扰
- 实在不行,在 Sublime 的
Preferences → Key Bindings里加一条自定义绑定:[{"keys": ["ctrl+alt+j"], "command": "join_lines"}]
真正容易被忽略的是:Sublime 的 join_lines 命令只作用于“当前选区内的换行”,不会跨过折叠代码块、注释区域或未选中的段落——哪怕你看着是连续的,只要逻辑上被语法高亮或折叠规则切开了,它就视而不见。










