2011-12-28 25 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