2012-01-25 22 views
8

Zakładając mam następujące opcje Hash jako argument do metody w Ruby 1.9.x:Vim, tabelaryczne i Ruby 1.9 Hashe

my_method :arg1, 
    some_option: "value 1" 
    some_other_option:true 
    option_three: 123 

Używanie wtyczki Tabelaryczne vim co wyrażenie regularne byłoby dostać opcje hash wyrównać tak:

my_method :arg1, 
    some_option:  "value 1" 
    some_other_option: true 
    option_three:  123 

: musi zostać dołączony do klucza, w przeciwieństwie do, na przykład, JSON.

Może bardziej atrakcyjne wizualnie styl byłby zamiast tego, który wygląda bardziej wyrównane:

my_method :arg1, 
     some_option: "value 1" 
    some_other_option: true 
     option_three: 123 

Czy ktoś przypadkiem wie, jak wykonać jeden z tych wyrównań korzystających tabelarycznej?

Dzięki!

Odpowiedz

13

W celu uzyskania pierwszego wyrównania, można użyć polecenia

:Tab/\w:\zs/l0l1 

Dla wyrównania klawiszy skrótu w prawo, wydaje się nieuniknione, aby wybrać tylko linie zawierające je przed zastosowaniem polecenia :Tabular,

:Tab/\w:\zs/r0l1l0 
+0

Należy zauważyć, że te polecenia poprawnie obsługują przypadki, gdy argumenty wywołania metody lub wartości mieszania zawierają symbole (np. ': Arg1' w przykładowym fragmencie pytania). –

1

Używam Tabular dużo, ale nigdy nie znalazłem okazji, aby wypróbować jego "zaawansowane" funkcje. Przypadek podobny do przykładu przedstawiono w :help tabular:

:Tabularize /,/r1c1l0 

     Some short phrase , some other phrase 
A much longer phrase here , and another long phrase 

który wykorzystuje to, co nazywa „Specyfikatory Format”.

więc zastosowanie tej komendy do opcji (po selekcji wizualnej) rade:

:'<,'>Tabularize /:/r1c1l0 

my_method :arg1, 
     some_option : "value 1" 
    some_other_option : true 
     option_three : 123 

Uwaga do siebie: grać więcej z tabelarycznej.