眼下標準的Emacs縮進就像下面:Emacs的壓痕
switch (cond) {
case 0: {
command;
}
break;
}
我要休息;與案例一致。
另外,是否有一個c-set-offset命令的列表?
眼下標準的Emacs縮進就像下面:Emacs的壓痕
switch (cond) {
case 0: {
command;
}
break;
}
我要休息;與案例一致。
另外,是否有一個c-set-offset命令的列表?
定製縮進的最大幫助(我發現)找出cc模式用於縮進當前行的方式。這是什麼C-C C-O又名M-X c-set-offset可以做 - 它可以讓你自定義一個語法元素的偏移量,它會告訴你什麼元素被用於當前行!
下面介紹如何對其進行自定義。將光標移動到break;
一行。
C-c C-o RET 0 RET
在這一點上,你的代碼將被縮進,如:
switch (cond) {
case 0: {
command;
}
break;
}
有關偏移文檔,檢查出的文檔字符串爲變量'c-offsets-alist
C-h v c-offsets-alist RET
同樣,你可以將此添加到您的.emacs中:
(setq c-offsets-alist '((statement-case-intro . 0)))
自定義縮進的文檔是here,值得一讀。有很多方法可以做到,所以閱讀手冊是值得的(如果你想要非默認縮進)。這裏是一個指向cc模式中使用的所有syntactic symbols的指針。
對於我來說,讓PHP模式switch語句正確縮進要求:
(c-set-offset (quote brace-list-entry) 2 nil)
(c-set-offset (quote case-label) 2 nil)
但正如其他人所說,抄送有限公司是你的朋友.....
你知道的支架案件和休息是不必要的,除非你需要1)在案件中聲明變量和2)分支到案件中,不是嗎? – dmckee 2009-06-05 18:29:57
是的,我喜歡。習慣的力量。 – 2009-06-05 18:52:55