编辑.cpp文件时,在switch语句后删除额外的缩进

时间:2015-03-26 09:53:34

标签: vim

在我的〜/ .vimrc中,我有以下缩进设置:

" If available, load indenting file for specific file type.
filetype indent on    

" Does nothing more than copy the indnetation from the previous line,
" when starting a new line. autoindent does not interfere with other
" indentation settings
set autoindent

" Spaces are better than tab character
set smarttab expandtab    
set shiftwidth=4
set tabstop = 4

在大多数情况下这很好用。但是有一件事让我烦恼。

当我在.cpp文件中有一个switch / case语句时,case会自动缩进,例如。

switch (x) {
    case A:
        // ...

虽然我真正想要的是:

swith (x) {
case A:
    // ...

有没有办法改变这种行为? (注意:我的~/.vim/syntax文件夹中没有特定的.cpp语法文件。)

1 个答案:

答案 0 :(得分:4)

你想:

 set cinoptions+=:0

这会将:0添加到cindent设置,该设置会将案例标签缩进零个字符。

要使其仅适用于您可以使用的C和C ++文件:

au FileType c,cpp  setl cindent cinoptions+=:0

有关其他设置,请参阅:help cinoptions-values

我使用cinoptions=:0,g0,因此public:protected:private:访问说明符也不会缩进。