如何在vim中一次匹配两行

Rag*_*dra 2 vim vi regular-expression vi-mode

我有一个包含制表符分隔格式记录的文件,但在两行中,我想使用 vim 编辑器模式匹配将记录与制表符分隔值排列在一行中。

前任。

Abc     PQR     XYZ     NMW
    XYX     PQR     LMW
PLX     PXQ     LPN     PWF
    XYQ     PLP     PMQ    LWP
Run Code Online (Sandbox Code Playgroud)

我想将记录的每第二行添加到第一行记录。我想要的输出格式是这样的。

Abc     PQR     XYZ     NMW    XYX     PQR     LMW
PLX     PXQ     LPN     PWF    XYQ     PLP     PMQ     LWP
Run Code Online (Sandbox Code Playgroud)

我尝试了以下命令来解决我的问题。

:%s/\n(\w\+.*)/\t\1/cgi
Run Code Online (Sandbox Code Playgroud)

这是用除第一行之外的前面的制表符替换每行数据。

我们如何使用 vim 模式匹配和替换来解决这个问题?

Dav*_*ing 8

怎么样

:%s/\n\s\+/\t/gc
Run Code Online (Sandbox Code Playgroud)

这将找到任何后跟空格的换行符,并用制表符替换所有换行符,从而组合您的行。