.vimrc中没有缩进的缩写

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.vimrc中没有缩进的缩写相关的知识,希望对你有一定的参考价值。

在我的.vimrc中,我为define main函数设置了一个快捷命令。

autocmd FileType  c,cpp abbr intmain int main(){<C-M><C-M>  return 0;<C-M><C-M>}

当我在我的cpp文件或c文件中键入intmain时,主函数应该定义如下。

int main(){
  return 0; // two-spaces indent
}

但是,实际定义如下。

int main(){
  return 0; // two-spaces indent
  } // extra two-spaces indent...

我该如何解决这个问题?

答案

由于与c / cpp文件的默认设置进行交互,可能会发生该错误。当我插入您的命令并键入intmain时,结果是

int main(){

        return 0; // has 2x4 spaces!

}

这是因为我的clang配置文件:

$ cat .vim/after/c.vim
set tabstop=4
set softtabstop=4
set shiftwidth=4
set noexpandtab

为了获得最佳结果,请键入autocmd,将其键入到扩展名为.c / .cpp的打开缓冲区中。

以上是关于.vimrc中没有缩进的缩写的主要内容,如果未能解决你的问题,请参考以下文章

vim配置python高亮和缩进

vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

Linux vim设置缩进与行号

Vim优化

改变Linux的缩进