我正在使用 Vim 和流行的表格插件。
我只想右对齐最右边的数字列。我想让其他三列保持原样:第 1 列必须保持右对齐,第 2 列和第 3 列必须保持左对齐。我该怎么做?
1 foo bary 42
2 foox bar 689
3 foo bary 1
4 foox bar 3091
5 foo bary 2105
6 foox bar 7
7 foo bary 6
8 foox bar 300
9 foo bary 926
10 foox bar 69
11 foo bary 2
12 foox bar 21
这就是想要的结果。
1 foo bary 42
2 foox bar 689
3 foo bary 1
4 foox bar 3091
5 foo bary 2105
6 foox bar 7
7 foo bary 6
8 foox bar 300
9 foo bary 926
10 foox bar 69
11 foo bary 2
12 foox bar 21
对于这一类一般问题,假设分隔列的字符串是一个或多个空格。
谢谢您的帮助。
吉姆·蒙蒂
:Tabularize /[0-9]*$/l2r0
演示:
:%s/$/ /g
:%s/\%>20c.*//
:%s/\(\%>10c\s\+\)\(\w\+\)\(\s\+$\)/\1\3\2