2012-04-25 12 views
6

Mam następujący kod:Align na najdłuższym słowem

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

Jak mogę wyrównać każdą linię, jak przedstawiony poniżej w vim?

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

Dzięki za wszelkie wskazówki.

Odpowiedz

6

Bez wtyczki:

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

pierwsze polecenie spowoduje wstawienie spacji przed Pierwsze znaki równości na wszystkich liniach, drugi usunie wszystkie spacje przed znakiem równości na 13 kolumny. Możesz także użyć opcji Blokowanie wizualne i <....., aby przesunąć w lewo tyle razy, ile potrzeba.

Jednak to jest naprawdę nieczyste. W przypadku wtyczki tabular wystarczy wpisać :Tab /=/, co spowoduje wykonanie pracy, a zakres zostanie obliczony automatycznie (największy zakres wokół kursora, w którym wszystkie wiersze pasują do wzorca).

+0

dzięki temu działa doskonale z wtyczką tabelaryczną. – johannes