我可以运行什么命令来删除Vim中的空行?
当前回答
如果文本有双行距,则此命令将删除双行距,并将已存在的重复空行合并为单个空行。它在一行的开头使用临时分隔符^^^,因此如果这与您的内容冲突,请选择其他内容。只包含空格的行被视为空白。
%s/^\s*\n\n\+/^^^\r/g | g/^\s*$/d | %s/^^^^.*
其他回答
如果文本有双行距,则此命令将删除双行距,并将已存在的重复空行合并为单个空行。它在一行的开头使用临时分隔符^^^,因此如果这与您的内容冲突,请选择其他内容。只包含空格的行被视为空白。
%s/^\s*\n\n\+/^^^\r/g | g/^\s*$/d | %s/^^^^.*
在vim中使用perl:
这是正确的道路。Perl -pi -e s/^\s*$//g
这招对我很管用:
:%s/^[^a-zA-Z0-9]$\n//ig
它基本上会删除所有没有数字或字母的行。因为列表中的所有项目都有字母,所以它删除了所有的空行。
如何:
:g/^[ \t]*$/d
:v/./d
or
:g/^$/d
或
:%!cat -s