一个用于格式化对象的Vim命令

4
在 Vim 中是否有一个简单的快捷键(或插件)可以帮助格式化下面这样的代码:
var obj = {
    one: 1,
    two: 2,
    three: 3,
    four: 4
};

将此转化为什么?

var obj = {
    one    : 1,
    two    : 2,
    three  : 3,
    four   : 4
};

1
你最好的选择是将缓冲区导入到外部过滤器,比如http://stedolan.github.io/jq/。 - Palpatim
插件Tabularize可以做到这一点。 - Phillip Kinkade
2个回答

3

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,因为是可视块模式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接