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

相關內容