Vim中是否有一个简单的快捷方式(或插件)可以帮助格式化这样的代码:
var obj = {
one: 1,
two: 2,
three: 3,
four: 4
};
进入这个?
var obj = {
one : 1,
two : 2,
three : 3,
four : 4
};
答案 0 :(得分:3)
有几个对齐插件,可以很容易地处理这类问题:
https://github.com/junegunn/vim-easy-align
https://github.com/godlygeek/tabular
https://github.com/vim-scripts/Align
个人我正在使用最后一个(最老的可能吗?)。根据您的需要,我只需选择那些行并<leader>t:
完成!
答案 1 :(得分:0)
您可以使用vim正则表达式执行此操作。使用ctrl-V
(大写V
)突出显示您可以格式化的行,然后:
:s;\v^(\s*)(\w+)\s*:\s*(\d+,*);\=printf("%s%-7s: %s", submatch(1), submatch(2), submatch(3));g
:s
将替换为:'<,'>s
,因为它采用视觉块状模式。