ninja_ken  

自己是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查看

 

posted on 2019-02-09 16:49  ninja_ken  阅读(1125)  评论(0编辑  收藏  举报