对象属性中函数的Vim Javascript缩进被破坏

对象属性中函数的Vim Javascript缩进被破坏,javascript,vim,auto-indent,Javascript,Vim,Auto Indent,我已经尝试过几种缩进解决方案,包括vim javascript和cindent、smartindent等的多种组合。在以下情况下,我找不到任何能够正确缩进的解决方案: Package.funcRequiringObject({ foo: "1", bar: "2", foobar: function() { // ... code ... } }); 这就是我想要的。我得到的是: Package.... { .... foobar

我已经尝试过几种缩进解决方案,包括vim javascript和cindent、smartindent等的多种组合。在以下情况下,我找不到任何能够正确缩进的解决方案:

Package.funcRequiringObject({
    foo: "1",
    bar: "2",
    foobar: function() {
        // ... code ...
    }
});
这就是我想要的。我得到的是:

Package.... {
    ....
    foobar: function() {
                // ... code ...
            }
});
有什么建议吗?

试试普雷斯顿·科普里维察的。它在我的测试中起作用


在我测试过的所有Vim JavaScript缩进文件中,这是一个在99%的情况下都能工作的文件。请注意,缩进现代JS文件很棘手

安装此插件实际上当前版本在我看来更好@@elclanrs我已经试过了。正如我提到的。不过,谢谢@用户3678068嘿。谢谢当foobar实际上是大约20个字符长的函数名,在缩进中添加20个额外字符时,情况就不是这样了……我已经安装了该插件,并且缩进工作正常,请检查