我在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
}
}
]
});如何使嵌套对象的缩进自动正确?
发布于 2014-06-02 15:01:59
这是一个给vim-javascrit's issue tracker的问题。
无论如何,我使用js-beautify来格式化我的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,89Formathttps://stackoverflow.com/questions/23986446
复制相似问题