在我的〜/ .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语法文件。)
答案 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:
访问说明符也不会缩进。