仅使用 Vim 和表格插件对齐最右列

问题描述 投票:0回答:2

我正在使用 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

对于这一类一般问题,假设分隔列的字符串是一个或多个空格。

谢谢您的帮助。

吉姆·蒙蒂

vim text-editor editing vim-plugin tabular
2个回答
4
投票
这应该有效

:Tabularize /[0-9]*$/l2r0

演示:

enter image description here


0
投票
也可以通过三个正则表达式来完成:

:%s/$/ /g :%s/\%>20c.*// :%s/\(\%>10c\s\+\)\(\w\+\)\(\s\+$\)/\1\3\2
    
© www.soinside.com 2019 - 2024. All rights reserved.