有多种方法可以解决这个问题.首先我想到的是记录一个宏,比如寄存器w
:
qw5Jjq
Run Code Online (Sandbox Code Playgroud)
这基本上使用J
普通命令连接5行并向下移动一行.然后你可以用一个简单的重复宏20次,20@w
或者继续重复@@
.
另一种,可能更"正确"的方式是使用:join
ex命令,它与J
普通命令相同,但可以缩写为:j
并与其一起使用:g
以在各种行中操作.例如:
:g/./j5
Run Code Online (Sandbox Code Playgroud)
这将匹配每一行非空行,并在每一行中加入接下来的5行(包括).然后移动到下一行并加入更多5,依此类推.