假设我有以下选项Hash作为Ruby 1.9.x中方法的参数:
my_method :arg1,
some_option: "value 1"
some_other_option:true
option_three: 123
使用Tabular VIM插件,正则表达式将获得选项哈希对齐如下:
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完成这些对齐?
谢谢!
答案 0 :(得分:13)
为了获得第一个对齐,可以使用命令
:Tab/\w:\zs/l0l1
为了将哈希键对齐到右边,似乎不可避免地只选择
在应用:Tabular
命令之前包含它们的行
:Tab/\w:\zs/r0l1l0
答案 1 :(得分:1)
我经常使用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进行更多操作。