Emacs在Clojure中自动缩进-是否像CL?
Emacs以以下方式自动缩进Clojure代码:Emacs在Clojure中自动缩进-是否像CL?,emacs,clojure,common-lisp,auto-indent,Emacs,Clojure,Common Lisp,Auto Indent,Emacs以以下方式自动缩进Clojure代码: (defn foo [x] (if (= 0 x) 0 1)) 我更喜欢它是否像Scheme和CL那样: (defn foo [x] (if (= 0 x) 0 1)) 如何更改.el文件以实现这一点?我没有真正测试这一点,但它似乎可以工作(在clojure模式下): 由于我无法在注释中执行代码块: Elisp没有以您提到的任何一种方式缩进: (if (test-p foo) bar
(defn foo [x]
(if (= 0 x)
0
1))
我更喜欢它是否像Scheme和CL那样:
(defn foo [x]
(if (= 0 x)
0
1))
如何更改.el文件以实现这一点?我没有真正测试这一点,但它似乎可以工作(在clojure模式下):
由于我无法在注释中执行代码块: Elisp没有以您提到的任何一种方式缩进:
(if (test-p foo)
bar
baz)
公共lisp模式也以这种方式缩进。Scheme模式将它们排成一行。我也不喜欢这种缩进样式。我认为Lisps中的缩进应该是语法级的,而不是语义级的,即始终与上面的项目对齐。(但我可能是唯一一个)这是个人偏好,但我非常建议你习惯第一种。这是Clojure社区的其他成员所使用的。Emacs 23.4.1似乎附带了一个通用的Lisp模式,它也将所有这些模式排列在一起。对我来说很有用。只要把它放进我的
.emacs
。
(if (test-p foo)
bar
baz)