まず最初に、vim で次のような作業を容易にする機能を理解してください。
以下に 2 つのアプローチを示します。
垂直分割が常に固定列 (このサンプルでは 84 のように) にあると仮定すると、次のようになります。
/\%84v#\zs
垂直分割バーを見つけます。これで、それを操作できます。
クイック アンド ダーティ: コメントをペアごとに折りたたむ
これにより、'template' 行の直後にコメント行が折り畳まれます。
:g//s//\r /
注: (9) スペースは、OP のサンプルの開始インデント レベルに一致するように選択されています。IRL、プログラムでスペースの数を把握するために
使用できますindent('.')
プレスト:
再結合するには:
:g//join!
余分なインデントを「食べる」ために何かと組み合わせる可能性があります (9 スペース)
:g//j!|norm! n9x
代替案:
通常、代わりにブロックを物理ファイルに分割することを選択します。それらを再結合するにはさらに手間がかかりますが、編集ははるかに快適で、vim の diffmode を活用できます。
簡単なスターター:
ggn<C-v>ND
:tabnew | 0put
:tabprev
gvVxgvVd
:tabnext | vert new | 0put
ウィンドウを diffmode にします:
:windo diffthis
両方のウィンドウを個別に編集できるようになり、ライブの差分が強調表示されます。
この戦略についてさらに情報が必要な場合はお知らせください。分割一時ウィンドウ構成からの再結合を試みるかもしれません。