2010-06-10 51 views
0

我怎樣才能讓Emacs在縮進()上的開放括號和運算符周圍填充空格?在emacs中控制代碼美化

+0

有助於瞭解什麼語言... – 2010-06-10 15:43:09

+1

C/C++(cc-mode) – 2010-06-10 17:20:26

回答

1

在其他的答案表示有解決方案,以解決您的問題。但是,代碼美化並不總是可用的,因爲您可能正在使用另一種編碼標準來處理另一個項目。在爲項目做出貢獻時,您最想做的事情是在提交補丁之前由於這些原因而搞亂代碼的風格:

  1. 您將提交一個由錯誤組成的大型DIFF你已經修復了你的美化工作。許多項目都有策略,只有修改樣式才能修改代碼的唯一更改(不更改樣式)。
  2. 如果你想提交一個乾淨的差異(只有你的bug修復),你將不得不通過代碼撤消你的風格差異。

幸運的是,中途-房子,這將讓你和維護者理智,glasses-mode

眼鏡輔助模式(指標O^O): 製作標識 likeThis次要模式可讀。當此模式爲 活動時,它會嘗試在 位置添加虛擬 分隔符(如下劃線)。

它不僅會使標識符更具可讀性,還會在函數括號之前放置空格。 glasses-mode只是'假裝'的代碼是美麗,只爲你的眼睛。至少值得注意。

0

你可以通知indent-region功能縮進區域後應用填充,比如:

(defadvice indent-region (after pad-brackets-and-operators activate) 
    (save-excursion 
    (save-restriction 
     (narrow-to-region (point) (mark)) 
     (goto-char (point-min)) 
     (while (re-search-forward " *\\([()+-*/]\\) *") 
     (replace-match " \\1 ") 
     (backward-char 1)))))