Vim, Tabular и Ruby 1.9. - PullRequest
       54

Vim, Tabular и Ruby 1.9.

8 голосов
/ 25 января 2012

Предполагая, что у меня есть следующие параметры Hash в качестве аргумента для метода в Ruby 1.9.x:

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

Используя плагин Tabular VIM, что бы регулярное выражение получило для выравнивания параметров Hash следующим образом:так:

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

: должен оставаться прикрепленным к ключу, в отличие, например, от JSON.

Возможно, вместо этого будет более визуально привлекательный стиль, который выглядитболее выровненный:

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

Кто-нибудь случайно знает, как выполнить любое из этих выравниваний, используя Tabular?

Спасибо!

Ответы [ 2 ]

13 голосов
/ 25 января 2012

Чтобы получить первое выравнивание, можно использовать команду

:Tab/\w:\zs/l0l1

Для выравнивания хеш-ключей вправо, кажется неизбежным выбрать только строки, содержащие их до применения команды :Tabular,

:Tab/\w:\zs/r0l1l0
1 голос
/ 25 января 2012

Я часто использую Tabular, но у меня никогда не было возможности попробовать его «продвинутые» функции.Пример, аналогичный вашему примеру, представлен в :help tabular:

:Tabularize /,/r1c1l0

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

, в котором используются так называемые «спецификаторы формата».

Итак, применение этой команды к параметрам (послеВизуальный отбор) сделает свое дело:

:'<,'>Tabularize /:/r1c1l0

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

Примечание для себя: играть больше с Tabular.

...