如何在 C 和 C++ 文件中配置 Vim 的右大括号缩进?

How to configure Vim's indentation for closing braces in C and C++ files?

本文关键字:缩进 Vim 配置 C++ 文件      更新时间:2023-10-16

我正在处理一些目前格式化为(3个空格)的代码(C和C++):

void foo() {
   bar();
   }

我想修改代码,使其多缩进一个空格(4个空格):

void foo() {
    bar();
    }

在Vim中我设置了:

set expandtab
set shiftwidth=4
set softtabstop=4

但当我使用==或='(标记)自动缩进一行或一组行时,它会给我:

void foo() {
    bar();
}

是否有控制右大括号缩进方式的设置?我目前正在处理的代码的做法是,右大括号的缩进量与块的内容相同。但是,Vim不缩进右大括号。

假设您使用的是cindent选项。然后,您可以将cino=}1s设置为将右大括号缩进一个缩进级别(一个shiftwidth)。有关详细信息,请参阅vim帮助中的cinoptions值。