vimで2行を同時に一致させる方法

vimで2行を同時に一致させる方法

タブで区切られた形式のレコードを2行含むファイルがありますが、vimエディタのパターンマッチングを使用して、タブで区切られた値を持つレコードを1行にソートしたいと思います。

前任者。

Abc     PQR     XYZ     NMW
    XYX     PQR     LMW
PLX     PXQ     LPN     PWF
    XYQ     PLP     PMQ    LWP

レコードの最初の行にレコードの2番目の行を追加したいと思います。私が望む出力形式は次のとおりです。

Abc     PQR     XYZ     NMW    XYX     PQR     LMW
PLX     PXQ     LPN     PWF    XYQ     PLP     PMQ     LWP

私の問題を解決するために、次のコマンドを試しました。

:%s/\n(\w\+.*)/\t\1/cgi

これにより、データの各行が最初の行を除いて前のタブ文字に置き換えられます。

この問題を解決するために、vimパターンマッチングと置換をどのように使用できますか?

ベストアンサー1

どうですか?

:%s/\n\s\+/\t/gc

これにより、空白が続く改行文字が見つかり、[すべて]タブに置き換えて行を結合します。

おすすめ記事