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

foo

bar

baz

qux

quux

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


当前回答

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

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

其他回答

也有一些ST2/ST3插件用于此类任务。我很喜欢这两个:

删除空行(也可通过包控制) 尾随空格(也可通过Package Control)

第一个有两个方法用于删除空的/不必要的行。其中一个叫做删除多余的空行,很酷。它只删除后跟另一个空行的那些行

如果^\n不正常工作===>尝试。*[^\w]\n

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

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

还有“连接线”。如果在OSX上,选择所有的文本,并按CMD-J几次,它将逐行折叠您的选择,删除换行符。

编辑:这种方法会让你把所有东西都写在一行上,这不是你想要的。

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