1. 使用 global 命令删除空白行
Vim命令行模式下的 global 命令在指定的范围内,标记所有匹配 pattern 的文本行,并对匹配的行上逐行执行 Ex 命令。
匹配空白行的正则表达式可用 ^\s*$ 表示 ( ^ 表示行首, $ 表示行尾, \s 表示任何空白字符,包括空格、制表符、换页符等, * 表示匹配零次或多次)。因此,用 global 命令删除Vim打开文件中所有空白行的命令为
删除不包含任何空格的空行;
:g/^$/d
删除包含空格的空行;
:g/^\s*$/d
2 使用替换命令substitute删除空白行
Vim命令行模式下的 :substitute 命令 (缩写形式 :s) 可以将指定的字符替换成其他目标字符,其命令格式为 :[range]s/源字符串/目标字符串/[option]。
删除空白行可以理解为一种替换类型的操作。为了在全文范围内替换(删除)所有空白行,可用 :%s/^\s*$\n//g 命令。
删除包含空格的空行
:%s/^\s*$\n//g
删除不包含任何空格的空行
:%s/^$\n//g