2012-04-25 3 views
6

ich den folgenden Code haben:Align am längsten Wort

a = 123 
p.value 0.123 
p.long.name = "abc" 

Wie kann ich jede Zeile wie unten ausrichten in vim gezeigt?

a   = 123 
p.value  = 0.123 
p.long.name = "abc" 

Danke für Hinweise.

Antwort

6

Ohne Plugin:

:%s/=/      &/ 
:%s/\%13c\s\+=/= 

erste Befehl Leerzeichen einfügen vor dem ersten Gleichheitszeichen auf allen Linien, werden zweite alle Leerzeichen vor einem Gleichheitszeichen am 13. Spalte entfernen. Sie können auch die visuelle Blockauswahl und <..... so oft wie nötig nach links verschieben.

Allerdings ist das wirklich unrein. Mit dem tabular Plugin geben Sie einfach :Tab /=/ ein und dies erledigt die Arbeit und der Bereich wird automatisch berechnet (größter Bereich um den Cursor herum, in dem alle Linien dem Muster entsprechen).

+0

danke es funktioniert perfekt mit dem tabellarischen Plugin. – johannes