![Используете ли вы vim для создания текста фиксированной ширины?](https://rvso.com/image/1395407/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D1%82%D0%B5%20%D0%BB%D0%B8%20%D0%B2%D1%8B%20vim%20%D0%B4%D0%BB%D1%8F%20%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0%20%D1%84%D0%B8%D0%BA%D1%81%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9%20%D1%88%D0%B8%D1%80%D0%B8%D0%BD%D1%8B%3F.png)
У меня есть текст в форме
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
<