在我的公司的編碼標準已經改變,使得函數聲明Emacs的C++ - 模式縮進的函數聲明
void foo(int a, float* b);
現在必須寫成:
void
foo(int a,
float* b);
其中的兩種類型變量和變量的名稱必須垂直對齊。
我使用emacs 23.2與c + +模式。
此模式排隊了每個變量類型,但不會讓我縮進變量名稱匹配。
有沒有建立在允許這個設置?
如果沒有,我需要關閉什麼才能讓我自由縮進我的變量名?
在我的公司的編碼標準已經改變,使得函數聲明Emacs的C++ - 模式縮進的函數聲明
void foo(int a, float* b);
現在必須寫成:
void
foo(int a,
float* b);
其中的兩種類型變量和變量的名稱必須垂直對齊。
我使用emacs 23.2與c + +模式。
此模式排隊了每個變量類型,但不會讓我縮進變量名稱匹配。
有沒有建立在允許這個設置?
如果沒有,我需要關閉什麼才能讓我自由縮進我的變量名?
也許你想要的是M-i
(tab-to-tab-stop
)。
這會將光標移動到下一個製表位。製表位可以由變量tab-stop-list
配置,該變量默認爲每八列。請注意,這將根據本地變量indent-tabs-mode
插入空格或實際製表符字符。 (小心不要用tab-width
混淆,從而影響TAB字符是如何實際顯示。)
這不總是能在儘可能低的列帕拉姆的名稱,例如,你可能最終與
void
foo(int a,
float* b); // two spaces there
但是請注意,這是更容易維護的 - 當添加一個更長的類型名稱的新參數時,您不一定要修復其餘的參數,只需要跨越選項卡列。
感謝這個解決方案爲我工作。 – chollida 2011-03-16 20:38:00
選擇帶有參數的線,然後M-X對準
這不起作用,它只對齊變量類型而不是變量名稱。感謝您的嘗試,雖然:) – chollida 2011-03-16 18:51:57
@chollida:它在這裏與Emacs 23.2。也許這是你的配置中的東西,嘗試啓動Emacs的-Q – scottfrazer 2011-03-16 20:01:10
感謝您的提示。當我運行M-x對齊時,它只對齊每行而不是每行中的每個單詞。感謝您的努力:)我很感激。 – chollida 2011-03-16 20:37:40
http://stackoverflow.com/questions/970759/how-to-align-arguments-to-functions-in-emacs – Anycorn 2011-03-16 18:18:30
你是什麼意思的「不會讓我」?如果你在變量名之前插入空格,會發生什麼?他們消失了嗎? – dfan 2011-03-16 18:30:30
@dfan我可以插入空格來使名稱排隊,但我寧願只是去名稱和打標籤,直到它與上面的名稱排隊 – chollida 2011-03-16 18:38:53