2023-05-29 05:00:04

Vim删除空行

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


当前回答

:v/./d

or

:g/^$/d

:%!cat -s

其他回答

找到了,它是:

g/^\s*$/d

来源:vim wikia中g的幂

简要说明 (范围):g /模式/ cmd 它作用于指定的[范围](默认的整个文件),通过对每一行匹配模式执行Ex命令cmd (Ex命令是以冒号开头的命令,例如:d表示delete)。在执行cmd命令前,“。”被设置为当前行。

这对我很有用

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

:g/^$/d

:g将在匹配正则表达式的行上执行命令。正则表达式是'blank line',命令是:d (delete)

: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行之间的所有空行。 我认为我的答案是最好的答案!

:v/./d

or

:g/^$/d

:%!cat -s