2011-05-07 42 views
3

Emacs沒有正確縮進具有冒號的分配器的C++類定義。我認爲這是因爲在許多情況下帶冒號的線條是左凹的。如何修復C++初始化程序的emacs縮進?

我想解決這個問題。

這是我正在談論的一個例子。

EMACS縮進這樣的代碼:

class demo { 
    int x; 
    demo(){ 
    } 
demo(int y):x(y){ 
    }; 
}; 

但它真的應該縮進這樣的:

class demo { 
    int x; 
    demo(){ 
    } 
    demo(int y):x(y){ 
    }; 
}; 

有沒有辦法來解決這個問題?想必我們需要一些elisp ...

謝謝!

+0

http://superuser.com/ – orlp 2011-05-07 22:32:44

+1

@nightcracker:我認爲Emacs這裏的問題很好。此外,這很容易在elisp中有一個涉及編程的解決方案,毫無疑問,這與編程相關。 – 2011-05-07 23:02:12

回答

5

Emacs(至少版本23)不在C模式下執行此操作,但它在C++模式下執行,因爲在C中,冒號前的部分只能是標籤。確保您處於C++模式(M-x c++-mode)。

+0

你是對的! .h默認爲C模式;我在.emacs文件中將其更改爲C++模式。謝謝! – vy32 2011-05-08 00:08:10

+0

另一種選擇是將'.hpp'用於C++頭文件。 – Philipp 2011-05-08 07:17:03

+2

哦,我發現.hpp非常嚴重。 – vy32 2011-05-10 01:27:52