我想在emacs中设置一个编辑clojure的环境。我对emacs比较陌生 (仅1年)和全新的clojure(2周)。我在网上找到了很多关于如何设置lein,swank-clojure,slime和nrepl的教程。 看起来swank-clojure和slime需要一起工作但是swank-clojure已经弃用了,所以剩下的就是nrepl和一些内置的lisp repl模式。
我首先尝试了低级lisp模式,因为它是clojure-mode的默认模式,对我来说看起来很好。但我似乎无法找到一种方法在其中轻松切换命名空间。
然后我尝试了emacs-live,这就像是nrepl附带的emacs新手的工具包。 然后我可以做“nrepl-jack-in”来获得一个repl,即使它非常慢.. 它可以使用“C-C M-n”轻松切换命名空间。然而,在切换之后的某个时候,会弹出一个名为 nrepl error 的缓冲区,不会让我关闭。我必须强制关闭emacs。此外,nrepl没有太多的语法高亮。
总结: 在swank-clojure被弃用之后,我应该使用哪个repl?煤泥REPL? nrepl?或其他人?
我现在对clojure了解不多,所以我不确定bre功能对于repl很重要但是至少有语法高亮并且可以在nrepl中像“CC Mn”之类的命名空间之间轻松切换,这样会很好也许是一个调试器。
答案 0 :(得分:3)
nREPL可能是你最好的选择。这是正式建议的替代swank-clojure,它很容易设置。 (至于SLIME,swank-clojure 是对Clojure的SLIME支持.SWANK是SLIME的后端通信渠道。如果你想使用SLIME,你会想要swank-clojure - 但当然这是放弃了对nREPL的支持。)
答案 1 :(得分:1)
我目前的经验是,nrepl.el比SWANK更不可用;然而,无论是在功能还是在稳定性方面,它都在快速增长。
现在安装Swank有点困难,因为Clojure-mode已经放弃了它,所以你需要一个旧版本。所以,我的建议是,如果你已经有一个工作的swank设置,那么几个月内不要改变任何东西;另一方面,如果你没有工作设置,那就去找nrepl,因为它会发生这样或者更晚,而Swank将涉及旧版本。
如果你最终得到nrepl,就像我说的那样,它还不完美,但要保持这样的知识,即用一个短语来说,事情只能变得更好。