291

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

foo

bar

baz

qux

quux

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

4

19 回答 19

704

选择文本

按:

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

确保您已通过按以下方式选择“正则表达式”:

  • Alt+R在 PC 上或
  • Command+ Alt+R在 Mac 上或
  • 单击.*查找框。

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

替换为:(无,留空)。

于 2012-08-17T16:22:52.597 回答
69

当行中没有空格时,Hugo 的答案中的正则表达式是正确的。如果有空格正则表达式可以^\s+$

于 2013-02-15T10:58:33.100 回答
25
于 2013-06-12T08:43:32.460 回答
10

查找/替换解决方案:

正则表达式查找:\s+

替换为: //单个空格

于 2015-01-21T09:54:40.707 回答
8

甚至不知道这整件事是如何运作的,但我尝试过 ^\s*$但没有奏效(仍然留下一些空行)。

^\s*对我

有用 {sublime text 3}

于 2015-09-12T10:15:58.797 回答
7

我不得不使用:

将 \n^\s*\n 替换为 \n

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

于 2013-11-13T00:03:48.423 回答
6

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

于 2015-10-29T07:46:24.840 回答
6

崇高的文字 2 & 3

@crates 的评论对我有用,

第 1 步:只需按下ctrl+H

第 2 步:按 RegEX 键

第 3 步:在 Find 中写下:^[\s]*?[\n\r]+

第四步:全部替换

于 2017-10-16T22:40:12.587 回答
4

他们是没有正则表达式的更简单的方法。您只需选择整个文本。然后转到:编辑--> 置换行--> 唯一。

就这样。并且所有空行都将被删除。

于 2019-03-27T18:29:55.807 回答
3

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

于 2013-10-25T16:53:36.493 回答
3

你正在寻找这个:

^\n|^\s+$

如果前面有空格或制表符的内容,它不会删除该行>

例如:

这些不会被删除:...空格... abc

...标签... abc

这将:

...空间... ...没有别的...

...标签... ...没有别的...

于 2014-08-15T14:43:54.520 回答
2

另一种方式,您可以使用cc.dblConyEdit(一个插件)的命令行来删除空行或空行。

于 2018-07-16T04:40:13.387 回答
1

对于那些对 sublime 文本编辑器感到好奇的人,非官方文档可能会很有趣!

于 2015-03-05T19:40:58.287 回答
1

还有“加入行”。如果在 OSX 上,选择所有文本,然后按 CMD-J 几次,它将按行折叠您的选择,删除换行符。

编辑:这种方法将使您将所有内容放在一条线上,这不是您所要求的。

于 2014-04-10T12:58:02.460 回答
1

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

[\n\r]{2,}

然后替换为

\n

删除 sublime 和 dreamviewr 中的所有类型的空间

于 2019-12-20T08:24:31.627 回答
1

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

请参考:https ://packagecontrol.io/packages/Trimmer

于 2018-01-13T09:47:36.970 回答
0

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

于 2018-05-12T19:30:45.523 回答
0

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

\s\x{200b}|^\s
于 2018-09-20T15:29:10.150 回答
-1

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

于 2017-04-29T04:10:50.967 回答