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

foo

bar

baz

qux

quux

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


选择文本

新闻:

在PC上按Ctrl + H,或者 Command + Alt + F在Mac或 点击查找- >替换。

确保你选择了“正则表达式”,按下:

在PC或Alt + R Command + Alt + R在Mac或 单击“查找”框中的“。*”。

找到什么:^\n还是^(\r|\n\r?)

替换为:(什么都没有,留空)。

Hugo的答案中的regexp在行中没有空格时是正确的。如果有空格,regexp可以是^\s+$

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

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

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

使用多个选择:选择一对换行符,然后使用快速查找全部(Alt+F3),或快速添加下一个(Ctrl+D)重复,以选择他们全部;然后按Enter键用换行符替换它们。

我不得不使用:

取代\ n \ n ^ \ s * 与\ n

https://github.com/NicholasBuse/sublime_DeleteBlankLines插件什么也没做。

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

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

你正在寻找这个:

^\n|^\s+$

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

例如:

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

选项卡…美国广播公司

这将:

空间……没有其他…

选项卡……没有其他…

A寻找/替换方案:

正则表达式查找:\ s +

替换为://单个空格

对于那些对崇高的文本编辑器感到好奇的人来说,非正式的文档可能会很有趣!

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

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

比我想象的要简单。“Ctrl + A + Ctrl + H”然后选择“正则表达式”。将\n\n替换为\n。瞧!

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

Sublime Text 2和3

@crates的评论对我很有用,

步骤1:简单地按ctrl+H

第二步:按RegEX键

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

第四步:全部替换

有一个很棒的包(Sublime 2和3)叫做“Trimmer”,它可以删除空行。它还做了许多其他有用的事情。

参考这个:https://packagecontrol.io/packages/Trimmer

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

另一种方法,你可以使用ConyEdit(一个插件)的命令行cc.dbl来删除空行或空行。

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

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

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

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

要查找额外的空格和空行,请按 Ctrl + Shift + F 选择正则表达式

[r] \ n \ {2,}

然后用

\n

除去sublime和dreamviewr中的各种空间