使用 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
<

相关内容