sublime text 无原生一键清空行功能,但可用正则替换(如\n\s*\n→\n\n)或插件(如removeblanklines)高效实现,兼顾跨平台换行符差异与空白字符处理。

Sublime Text 本身没有“一键清除多余空行”的原生命令,但通过正则替换或插件能高效实现——关键不是找按钮,而是用对 Find + Replace 的模式。
用正则批量删连续空行(最常用、零依赖)
这是最快捷、不装插件的方案,适用于所有 Sublime 版本(3/4),且保留单个空行分隔段落。
- 打开
Ctrl+H(Windows/Linux)或Cmd+H(macOS)调出替换面板 - 勾选
.*按钮启用正则模式 - 在
Find What输入:\n\s*\n - 在
Replace With输入:\n\n - 点
Replace All—— 多个连续空行会被压缩为两个换行符(即保留一个空行)
⚠️ 注意:\s* 会匹配空格、制表符等空白字符,如果文件里混有缩进空格的“假空行”,这个模式也会清理掉;若只想删纯空行(不含任何空白字符),改用 \n\n+ 作为查找项,替换为 \n\n。
用插件 TrailingSpaces 或 RemoveBlankLines 自动化
如果你频繁处理日志、配置文件或 Markdown,手动正则太重复,插件更适合长期使用。
-
RemoveBlankLines插件提供命令remove_blank_lines,可绑定快捷键(如Ctrl+Shift+K),执行后只保留段落间单空行 -
TrailingSpaces主要清末尾空格,但配合自定义键绑定也能触发清空行逻辑(需编辑Preferences → Key Bindings添加{"keys": ["ctrl+alt+k"], "command": "remove_blank_lines"}) - 安装方式统一:
Ctrl+Shift+P→ 输入Package Control: Install Package→ 搜插件名
⚠️ 注意:插件行为依赖其默认配置。比如 RemoveBlankLines 默认保留首尾空行,如需彻底清空(包括开头结尾的空行),得在插件设置里把 preserve_leading 和 preserve_trailing 都设为 false。
为什么不用 \n{3,} 直接匹配三行以上?
看似直观,但容易漏删、误删,实际效果不稳定。
-
\n{3,}只匹配“连续三个及以上换行符”,而真实文本中常夹杂空格、制表符,导致匹配失败 - 它无法处理“换行+空格+换行”这类常见脏数据,必须搭配
\s*才鲁棒 - 多次运行
\n{3,}替换可能残留双空行(因为每次只删 ≥3 的组合),不如\n\s*\n一次收敛
真正省事的做法是接受“多遍压缩”逻辑:用 \n\s*\n → \n\n 迭代一次就到位,无需反复点。
最易被忽略的是文件编码和换行符类型:Windows 用 \r\n,Unix/macOS 用 \n。Sublime 默认按当前文件换行符解析正则,所以别在 Windows 文件里硬写 \n\n 去匹配 \r\n\r\n —— 先看右下角状态栏显示的是 CRLF 还是 LF,再决定正则要不要加 \r。











