2016-07-26 4 views
1

Ich hatte vor kurzem die Idee zu versuchen, tabularize zu verwenden, um einige Zeilen zu "zentrieren". Zum Beispiel sind hier einige Vim-Plugins:Wie vim/tabularize zu Mittellinien verwenden aber Präfix verlassen?

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

Wenn ich :Tabularize /\//r0c0l0 laufen, was ich bekommen ist:

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

Diese ziemlich nahe ist, mit der Ausnahme Plug wird ebenfalls verschoben. Gibt es eine Möglichkeit tabularize zu verwenden, basierend auf dem Schrägstrich zum Zentrum, sondern die Plug unbewegt auf der linken Seite verlassen, wie folgt aus:

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

Haben Sie versucht, mit Modus visuellen Block? – SibiCoder

+0

@rityzmon, Verstand, die eine der Antworten zu akzeptieren? – rgoliveira

Antwort

0

Eine Lösung für den linken Teil des Pakets Spezifikation zu suchen wäre, und richten Sie durch dass, wie:

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

So ist die linke Seite der Plug sein wird, ist die Mitte der '<package author>, und der rechte Teil ist die \<package name>'.

0

können Sie tun das tatsächlich mit einem anderen Ansatz und die in zwei Schritten sein:

: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

Das ist sehr cool, aber ... ernsthaft? Hahahah – rgoliveira

+0

Ich mache es nur zum Spaß! :) Ich treibe mich gerne selbst! –

+2

Alles, was Sie mit einem Plugin tun können, können Sie auch ohne. Im schlimmsten Fall müssten Sie nur den Rumpf des Plugins eingeben, um es zu tun. :) Die Frage ist, welcher Ansatz ist __effizient__? –

Verwandte Themen