2010-09-03 43 views
1

我一直在使用Vim中优秀的Tabular插件来对齐事物,但是我想要做的对齐很常见,我无法弄清楚正确的正则表达式。Vim:使用表格对齐第二组开头引号

我想这

gem 'fakeweb' 
gem 'factory_girl', '~> 1.3' 
gem 'factory_girl_rails', '>= 1.0' 
gem 'rspec', '>= 2.0' 
gem 'rspec-rails', '>= 2.0' 

变成这个

gem 'fakeweb' 
gem 'factory_girl',  '~> 1.3' 
gem 'factory_girl_rails', '>= 1.0' 
gem 'rspec',    '>= 2.0' 
gem 'rspec-rails',  '>= 2.0' 

作弊将是对齐的逗号,但是这不是我的理想。

回答

2

通过在您的正则表达式中使用\ zs,您可以将匹配的开始设置为引号而不是逗号。

:%Tabularize /,\s*\zs'/ 
+0

完美!谢谢。 – 2010-09-03 16:01:58

0

您应该尝试align插件。

+0

这基本上和Tabular完全一样。除非你有一个正则表达式来使用,我没有看到你的观点。 – 2010-09-03 12:03:16

+0

我应该提及\ ts,与正确答案具有相同的效果。 – Tassos 2010-09-05 10:27:43

+0

是的,它更容易做到这一点:\ ts,编辑:抱歉的双注释(浏览器故障)。 – Tassos 2010-09-05 10:29:24

1

任何人都在这个问题上磕磕绊绊::Tabularize argument_list也有效。