假设我有一个包含以下9行的文本文件:

foo

bar

baz

qux

quux

我如何使用Sublime Text 2删除所有四个空白/空行,只留下五行?


当前回答

你正在寻找这个:

^\n|^\s+$

如果>前面有空白或制表符,它将不会删除该行

例如:

这些将不会被删除: 空间…美国广播公司

选项卡…美国广播公司

这将:

空间……没有其他…

选项卡……没有其他…

其他回答

在我的例子中,一些空行包含unicode字符零宽度空格(U+200b)。清除空行,包括带有此unicode字符的行:

\s\x{200b}|^\s

我都不知道这是怎么回事,但我试过了 ^\s*$并且没有工作(仍然留下一些空行)。

相反,这个^\s*适合我 {sublime text 3}

它们是一种更简单的方法,不需要正则表达式。 你只需要选择整个文本。 然后转到:编辑——>排列线——>唯一。

这是所有。所有空行都将被删除。

Sublime Text 2和3

@crates的评论对我很有用,

步骤1:简单地按ctrl+H

第二步:按RegEX键

第三步:在Find: ^[\s]*?[r \ n \] +

第四步:全部替换

使用查找/替换,尝试粘贴从空白行上方的行尾开始的选择,并在空白行后的行首结束的选择。这适用于单个空行。您也可以对多个空行重复此过程。CTRL-H,把你的选择放在查找框中,并通过复制/粘贴或其他方法在替换框中添加换行符。