1. 程式人生 > >折騰VIM的C++縮進

折騰VIM的C++縮進

end help p s 進入目錄 功能 prot base sha 自動縮進

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

折騰VIM的C++縮進