2023-05-29 05:00:04

Vim删除空行

我可以运行什么命令来删除Vim中的空行?


当前回答

这招对我很管用:

:%s/^[^a-zA-Z0-9]$\n//ig

它基本上会删除所有没有数字或字母的行。因为列表中的所有项目都有字母,所以它删除了所有的空行。

其他回答

如何:

:g/^[ \t]*$/d
:v/./d

or

:g/^$/d

:%!cat -s

这对我很有用

:%s/^\s*$\n//gc

:g/^\s*$/d
^ begin of a line
\s* at least 0 spaces and as many as possible (greedy)
$ end of a line

粘贴

:command -range=% DBL :<line1>,<line2>g/^\s*$/d

在你的。vimrc,然后重新启动你的vim。 如果你使用命令:5,12DBL 它将删除第5行到第12行之间的所有空行。 我认为我的答案是最好的答案!

如果文本有双行距,则此命令将删除双行距,并将已存在的重复空行合并为单个空行。它在一行的开头使用临时分隔符^^^,因此如果这与您的内容冲突,请选择其他内容。只包含空格的行被视为空白。

%s/^\s*\n\n\+/^^^\r/g | g/^\s*$/d | %s/^^^^.*