Используете ли вы vim для создания текста фиксированной ширины?

Используете ли вы vim для создания текста фиксированной ширины?

У меня есть текст в форме

xxxx  yyyyy
xx yyyy
xxxxxxxx  yyyyy
x y

Я бы хотел, чтобы второй набор в каждой строке начинался в той же точке, т.е.

xxxx      yyyyy
xx        yyyy
xxxxxxxx  yyyyy
x         y

Я не могу придумать элегантного решения с использованием vim, и меня всегда раздражает, когда я трачу на решение больше времени, чем потребовалось бы, если бы я просто сделал что-то вручную. Всегда можно сохранить это на следующий раз, если у кого-то есть более умное решение!

решение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
<

Связанный контент