VIM:我如何得到紧密的括号与像大括号那样的块对齐?

时间:2016-04-22 23:00:45

标签: vim auto-indent

在vim中 当您关闭支架时,它会自动与开口支架的块头对齐。像这样:

f() {
    ...
}

如何自动移动右括号并以相同的方式对齐:

f (
   int i,
   ...
) {

目前,我只能通过使用对齐命令对齐它。例如==,没有命令,它看起来像这样:

f (
    int i,
    ...
    ) {

即。从它应该对齐的位置进行额外的缩进。

如何解决这个问题并使其像闭合支撑一样工作?

1 个答案:

答案 0 :(得分:2)

答案取决于'indentexpr'的价值。

如果已设置(例如GetJavaIndent()),则应考虑修复相应的功能。这里没有通用的建议。

如果未设置'indentexpr',则您使用'cindent',其行为可能会受到'cinoptions'的影响。您正在寻找的选项是m1。所以只需将其添加到vimrc,您就应该设置:set cinoptions=m1(可能将其包装到autocmd或其它内容,以便它只会影响特定的文件类型。)