如何对齐最大数字或最大字符串为对齐指示符的列?

Rem*_*man 6 vim alignment

如何在vim中右对齐(并左对齐?)一个数字或文本块,如下所示:

从:

45    209   25     1
2      4     2     3
34      5   300     5
34    120   34    12
Run Code Online (Sandbox Code Playgroud)

对此:

45    209    25    1
 2      4     2    3
34      5   300    5
34    120    34   12
Run Code Online (Sandbox Code Playgroud)

这意味着每列中的最大数字或最大字符串不会移动.
在第一列中,它是45 + 34,在第二列209 + 120中,在第三列300中和在最后一列12中.

Fre*_*ihl 5

看看这个align插件,它可以做到这一点以及更多.实用腰带的绝佳工具!

这里找到

经过一些严肃的vimhelp /阅读后,我找到了正确的AlignCtrl映射...视觉选择表格,例如通过使用ggVG,然后做一个\Tspie<leader>Tsp

然后我明白了:

 45   209    25    1
  2     4     2    3
 34     5   300    5
 34   120    34   12
Run Code Online (Sandbox Code Playgroud)

来自vimhelp:

\Tsp  : use Align to make a table separated by blanks |alignmap-Tsp|
        (right justified)
Run Code Online (Sandbox Code Playgroud)


小智 2

使用 Align 和 AlignMaps 插件:选择使用 V,然后选择 \anum(AlignMaps 附带 Align)。\anum 的优点之一是它还可以处理小数点(逗号)和科学计数法。