我在Vim中使用auto-indent
和vim-javascript
编写javascript。然而,我不能得到javascript对象缩进正确。例如:
这个,我手动缩进:
var NetworkSchema = new Schema({
'timeStamp' : { type : Date, index: true },
"avaiable" : Boolean,
"status" : String,
"metrics" : [ { "txDropped" : { "data" : Number,
"type" : String,
"unit" : String
}
},
{ "txErrors": { "data" : Number,
"type" : String,
"unit" : String
}
},
{ "txOverruns": { "data" : Number,
"type" : String,
"unit" : String
}
}
]
});
看起来像这样,当使用gg=G
:
var NetworkSchema = new Schema({
'timeStamp' : { type : Date, index: true },
"avaiable" : Boolean,
"status" : String,
"metrics" : [ { "txDropped" : { "data" : Number,
"type" : String,
"unit" : String
}
},
{ "txErrors": { "data" : Number,
"type" : String,
"unit" : String
}
},
{ "txOverruns": { "data" : Number,
"type" : String,
"unit" : String
}
}
]
});
我如何使缩进正确的嵌套对象自动?
这是vim- javascript的问题跟踪器的问题。
无论如何,我使用js-美化来格式化我的JavaScript:
command! -buffer -range=% Format let b:winview = winsaveview() |
execute <line1> . "," . <line2> . "!js-beautify -f - -j -B -s " . &shiftwidth |
call winrestview(b:winview)
使用以下命令格式化整个缓冲区:
:Format
使用以下命令格式化当前可视选择所覆盖的行('<,'>
范围会自动为您插入):
:'<,'>Format
使用以下命令格式化任意范围所覆盖的行:
:23,89Format