我正在尝试设置一个环境,用于编辑emacs中的clojure。我对emacs还比较陌生(只有一年),对clojure完全陌生(2周)。我已经在网上找到了很多关于如何设置的教程,其中大部分都是关于lein、swank-clojure、slime和nrepl的。看起来swank-clojure和slime需要一起工作,但是swank-clojure被废弃了,所以剩下的是nrepl和一些内置在lisp repl模式中的。
我首先尝试了低劣的lisp模式,因为它是clojure模式的默认模式,在我看来它很好。但是,我似乎无法找到一种在其中轻松切换名称空间的方法。
然后,我尝试了emacs-live,这就像给emacs的新手提供的工具包一样,随nrepl而来。然后,我可以做"nrepl-jack-in“来得到一个回购,即使它是非常缓慢的。它可以很容易地用“can”转换名称空间。但是,切换后的某个时候,一个名为nrepl错误的缓冲区会弹出,不会让我关闭。我不得不强迫密密麻麻。另外,nrepl没有太多的语法突出显示。
总之:在swank-clojure被废弃后,我应该使用哪一种repl?黏液-爬虫?内瑞尔?还是其他人?
我现在不太了解clojure,所以我不确定什么特性对repl很重要,但是至少有语法高亮显示是很好的,并且可以很容易地在nrepl中的“can”之类的名称空间之间切换,或者可以在调试器中切换。
发布于 2013-02-06 21:36:31
出于各种原因,我衷心推荐nREPL.el:
没有slime-repl (外面的黏液也就是)。在这一点上,它只是swank-clojure + SLIME或nrepl.el。考虑到nrepl.el甚至现在已经实现了SLIME所拥有的大部分功能--您最好习惯使用nrepl.el。
更新
nREPL.el在0.2.0版本之后被重命名为苹果酒。
发布于 2013-02-06 20:40:57
nREPL可能是你最好的选择。这是官方建议的swank-clojure的替代品,而且很容易设置。(至于粘液,swank-clojure是对Clojure的黏液支持。)SWANK是粘液的后端通讯渠道。如果你想使用黏液,你会想要swank--clojure--当然,这已经被放弃了,取而代之的是nREPL。)
发布于 2013-02-07 16:24:08
我目前的经验是,nrepl.el比SWANK更不常用;然而,无论在特性还是稳定性方面,它都得到了快速的发展。
安装Swank现在有点困难,因为Clojure模式已经放弃了,所以您需要一个更旧的版本。因此,我的建议是,如果您已经有了一个工作的swank设置,那么在几个月内不要更改任何东西;另一方面,如果您没有一个工作的设置,去使用nrepl,因为它将发生在什么时候或以后,而Swank将涉及旧版本。
如果你最终得到了nrepl,就像我说的,它还不完美,但是要记住,用一句话来说,事情只能变得更好。
https://stackoverflow.com/questions/14738157
复制相似问题