2011-12-28 24 views
2

Emacs的自動縮進的Clojure代碼以下列方式:Clojure中的Emacs自動縮進 - 像CL一樣嗎?

(defn foo [x] 
    (if (= 0 x) 
    0 
    1)) 

我寧願如果它沒有像計劃和CL:

(defn foo [x] 
    (if (= 0 x) 
     0 
     1)) 

如何更改我的.el文件,使這發生了嗎?

+1

我也不喜歡這種縮進風格。我認爲Lisps中的縮進應該是語法級別的,而不是語義級別的,即總是與上面的項目對齊。 (但我可能是唯一一個) – drcode 2012-01-01 01:11:00

+0

這是個人偏好的事情,但我非常推薦你習慣第一個。這就是Clojure社區的其他用途。 – 2015-05-09 14:31:31

回答

3

我真的不測試,但它似乎工作(Clojure中的模式):

(put 'if 'clojure-indent-function 3) 
+0

適合我。把它放到我的'.emacs'中。 – Inaimathi 2013-02-15 18:33:02

1

既然不能做的代碼塊中的註釋:

elisp的不以您提及的任何一種方式縮進:

​​

通用lisp模式縮進也是如此。方案模式將他們全部整理起來。

+0

Emacs 23.4.1似乎還附帶了一個Common Lisp模式,它也將它們全部引出來。 – Inaimathi 2013-02-15 02:29:35