Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tablar.vim:如何将小数点上的浮点数与vim对齐?_Vim - Fatal编程技术网

tablar.vim:如何将小数点上的浮点数与vim对齐?

tablar.vim:如何将小数点上的浮点数与vim对齐?,vim,Vim,我将一堆数据加载到VIM中,以便进行如下清理: Dec 19, 2012 Advertising November Adwords 43.00 -Roger Dec 01, 2012 Rent, Sublease 200.00 -Mary Nov 01, 2012 Rent, Sublease 200.00 Oct 01, 2012 Rent Sublease 200.00 Nov 05, 2012 Advertising 42.00 Oct 01, 2012 Advertising Sep

我将一堆数据加载到VIM中,以便进行如下清理:

Dec 19, 2012 Advertising November Adwords 43.00 -Roger
Dec 01, 2012 Rent, Sublease 200.00 -Mary
Nov 01, 2012 Rent, Sublease 200.00
Oct 01, 2012 Rent  Sublease 200.00
Nov 05, 2012 Advertising  42.00
Oct 01, 2012 Advertising September  50.00
我想把所有数字按小数点对齐。我已经安装了tablar.vim,但似乎无法让正则表达式正常工作

以下是我认为有效的方法:

:'<,'>Tabularize /[0-9]*\.[0-9]+

:”我对表格收益的使用是反复尝试的,但这似乎有效

您需要使用
\zs
指定匹配在小数点之前开始,还需要使用可选的对齐说明符指定第一列右对齐,第二列左对齐。因此:

:Tabularize /\d*\zs\.\d\+/r0l0

我没有安装表格插件,但安装了对齐插件:

我不知道确切的预期产量是多少

使用Align插件,我只需键入`

:AlignCtrl p0P0rl
然后

您的文件内容已更改为:

Dec 19, 2012 Advertising November Adwords 43.00 -Roger
             Dec 01, 2012 Rent, Sublease 200.00 -Mary
             Nov 01, 2012 Rent, Sublease 200.00
             Oct 01, 2012 Rent  Sublease 200.00
                Nov 05, 2012 Advertising  42.00
      Oct 01, 2012 Advertising September  50.00
Dec 19, 2012 Advertising November Adwords  43.00 -Roger
Dec 01, 2012 Rent, Sublease               200.00 -Mary
Nov 01, 2012 Rent, Sublease               200.00 
Oct 01, 2012 Rent  Sublease               200.00 
Nov 05, 2012 Advertising                   42.00 
Oct 01, 2012 Advertising September         50.00 
编辑

JHo,仅供参考。我没有找到如何在一次或两次中达到您的需要,先按Ctrl键对齐,然后按Align键对齐。但这是可行的

第一步:

:%Align [0-9]*\.[0-9]
您的文件将如下所示:

Dec 19, 2012 Advertising November Adwords 43.00  -Roger
Dec 01, 2012 Rent, Sublease               200.00 -Mary
Nov 01, 2012 Rent, Sublease               200.00 
Oct 01, 2012 Rent  Sublease               200.00 
Nov 05, 2012 Advertising                  42.00  
Oct 01, 2012 Advertising September        50.00  
然后将AlignCtrl设置为

:AlignCtrl p0P0rl
最后按ctrl-v键,只选择十进制数字列,键入:

:'<,'>Align \.

这非常适合对齐小数点!我得解释一下你是怎么做的。它具有意外的副作用,即在每行的开头添加空格。理想情况下,我希望浮点数前面有额外的空格。非常感谢。谢谢你,肯特。这和我从古拉什王子的回答中得到的结果是一样的。我应该指定所需的输出。我给了他答案,因为他先得到了答案。
Dec 19, 2012 Advertising November Adwords  43.00 -Roger
Dec 01, 2012 Rent, Sublease               200.00 -Mary
Nov 01, 2012 Rent, Sublease               200.00 
Oct 01, 2012 Rent  Sublease               200.00 
Nov 05, 2012 Advertising                   42.00 
Oct 01, 2012 Advertising September         50.00