固定幅テキストを作成するために vim を使用していますか?

固定幅テキストを作成するために vim を使用していますか?

フォームにテキストがあります

xxxx  yyyyy
xx yyyy
xxxxxxxx  yyyyy
x y

各行の2番目のセットを同じポイントから開始したい、つまり

xxxx      yyyyy
xx        yyyy
xxxxxxxx  yyyyy
x         y

vim を使用したエレガントな解決策が思いつかず、手動で何かを行うよりも多くの時間を解決策に費やすといつも困ってしまいます。誰かが賢い解決策を思いついたら、次回のためにいつでも参考にできます。

答え1

仕事をやり遂げる賢い検索/置換トリックをいくつか見たことがありますが、それを記憶に留めることができないのです。だから、これは私が使っている方法の1つです。(そして推奨)プラグイン。

使用整列、これは単なる

- VG                (select all)
- <leader>tsp       (align whitespace)

ヘルプから

    ---------------------------         *alignmap-Tsp*
    Alignment Map Examples: \tsp            *alignmap-tsp* {{{3
    ---------------------------

    Normally Align can't use white spaces for field separators as such
    characters are ignored surrounding field separators.  The \tsp and
    \Tsp maps get around this limitation.

    Original: >
     one two three four five
     six seven eight nine ten
     eleven twelve thirteen fourteen fifteen
<
    Becomes: Select the lines, \tsp >
     one    two    three    four     five
     six    seven  eight    nine     ten
     eleven twelve thirteen fourteen fifteen
<
    Becomes: Select the lines, \Tsp >
        one    two    three     four    five
        six  seven    eight     nine     ten
     eleven twelve thirteen fourteen fifteen
<

関連情報