2013-02-03 78 views
4

出於某種原因,我的emacs縮進了C++類方法錯誤。Emacs縮進C++類方法?

電流:

class B 
{ 
public: 
    B() 
     { 
     } 
}; 

但我想:

class B 
{ 
public: 
    B() 
    { 
    } 
}; 

有誰如何使它在.emacs中?

謝謝!

+0

似乎Emacs不太在乎你的**公共構造函數 – Praetorian

+0

錯誤,修正。但結果是一樣的。 – frinkr

回答

11

嘗試將設置inline-open設置爲'0。這應該放置一個大括號,在相同的縮進級別上打開一個in-class內聯方法。例如:

(c-set-offset 'inline-open '0) 

還有可能是別的,這很難說。 CC-Mode文檔有更多選項及其說明,可能對您也有幫助。

下面是基於Linux的編碼風格可能會感興趣的你的我的C++風格例如:

(defun vlad-cc-style() 
    (c-set-style "linux") 
    (c-set-offset 'innamespace '0) 
    (c-set-offset 'inextern-lang '0) 
    (c-set-offset 'inline-open '0) 
    (c-set-offset 'label '*) 
    (c-set-offset 'case-label '*) 
    (c-set-offset 'access-label '/) 
    (setq c-basic-offset 4) 
    (setq tab-width 4) 
    (setq indent-tabs-mode nil) 
) 

(add-hook 'c++-mode-hook 'vlad-cc-style) 

希望它能幫助。祝你好運!

+1

非常感謝! 「(c-set-offset'inline-open'0)」適用於我。 – frinkr