2016-07-26 34 views
1

我最近有想法尝试使用tabularize来“集中”一些行。例如,这里有一些Vim的插件:如何使用vim/tabularize居中行但留下前缀?

Plug 'ervandew/supertab' 
Plug 'godlygeek/tabular' 
Plug 'itchyny/lightline.vim' 
Plug 'kien/ctrlp.vim' 

如果我运行:Tabularize /\//r0c0l0,我得到的是:

Plug 'ervandew/supertab' 
Plug 'godlygeek/tabular' 
    Plug 'itchyny/lightline.vim' 
     Plug 'kien/ctrlp.vim' 

这是相当接近,除了Plug也在移动。有没有办法使用tabularize基础上,斜线中心,但离开Plug不为所动左侧,就像一个方式如下:

Plug 'ervandew/supertab' 
Plug 'godlygeek/tabular' 
Plug 'itchyny/lightline.vim' 
Plug  'kien/ctrlp.vim' 
+0

你有没有试着用可视块模式? – SibiCoder

+0

@rityzmon,介意接受一个答案? – rgoliveira

回答

0

一个解决办法是寻找包装规格的左部分和对齐,像:

:Tabularize /'[^/]\+/l1r0l0 

所以左侧将是Plug,中间是'<package author>,右边部分是\<package name>'

0

实际上,你可以做到这一点与另一种方法和这将是两个步骤:

:let temp=&textwidth | :%s:/:/\r:g | execute "set textwidth=".max(map(getline(1,'$'),'len(v:val)')) | :%right | :%normal! Jx 
:execute "set textwidth=".temp | %s/^\(.*\)\(Plug\)\(.\+\)'/\2\1\3'/g 

max(map(getline(1,'$'),'len(v:val)'))

+0

这很酷,但是......真的吗?哈哈哈 – rgoliveira

+0

我只是为了好玩而做的! :)我喜欢推动自己! –

+2

任何你可以用插件做的事情,你也可以不做。在最坏的情况下,你只需要输入插件的主体来完成它。 :)问题是,哪种方法更有效___? –