自己是2014年的时候,开始学习VIM编辑器。记得当时把整个VIM入门手册几乎通读了一边,为其强大的功能和便捷的操作所折服。
今天再次捣鼓了以下VIM,只因为用VIM编辑C++的代码时,类中的public/protected/private等关键字会自动缩进(这与通常C++的默认缩进风格并不一致).
class Base { public: virtual void func() { cout << "func" << endl; } virtual void func2() { cout << "func2" << endl; } virtual ~Base() {} int m = 3; };
而自己希望的是
class Base { public: virtual void func() { cout << "func" << endl; } virtual void func2() { cout << "func2" << endl; } virtual ~Base() {} int m = 3; };
本以为自己需要修改VIM的indent文件,于是进入目录/opt/share/vim/vim80/indent/,查看cpp.vim,发现C++在VIM中有默认缩进规则,实际上不需要单独的缩进配置。那怎么办呢?难道要修改源代码吗?还是算了吧,自己可没那么大的信心。
之后搜索VIM的帮助手册,查找关键字public,结果意外地发现自己想要的这个功能,VIM早已有现成的了!通过设置cinoptions即可,就像设置VIM其他的参数一样,输入如下命令
:set cinoptions+=g0
当然,也可以把这个写入当前用户的vimrc文件中,这样每次打开VIM都会生效。
有关cinoptions的具体内容,可以在VIM中输入:help cinoptions查看