我想用一个看起来像这样的行的文件:
diff
patt1 = patt[0];
diff1
patt2 = patt[1];
并将其转换为:
diff patt1 = patt[0];
diff patt2 = patt[1];
gq
适用于单行。
但是我想在最后用;
的许多行做这件事。
答案 0 :(得分:1)
我不确定最后;
的重要性是什么,但是很多变种都可以用
:g/<pattern>/j
如果你想将缓冲区中的每个偶数行连接到它上面的奇数行,你可以使用
:g/^/j
因为^
匹配每一行。如果您想将以;
结尾的每一行加入到其上方的行中,那么
:2,$g/;$/-j
基本上是正确的,虽然它有时可能让你大吃一惊。如果你想加入足够的行,以便每一个新行(除了可能的最后一行)都以;
结尾,那么试试
:g/;\@<!$/.,/;$\|\%$/j
应该这样做,尽管它可能会在最后一行给出错误消息。
答案 1 :(得分:0)
如果要加入很多行并且它们不是全部连续的,我可能会这样做:
qakJq
- 定义宏a
以向上移动一行并加入g/;$/normal@a
- 在以;
答案 2 :(得分:0)
使用以下命令:
:%g/;\@<!$/j