我首先尝试了inferior lisp mode,因为它是clojure-mode的默认模式,而且看起来很好。但是我似乎找不到在其中轻松切换命名空间的方法。
然后我尝试了emacs-live,它类似于一个针对emacs新手的套件,带有nrepl。我可以使用“nrepl-jack-in”获取repl,即使它非常慢。它可以通过“C-C M-n”轻松切换命名空间。然而,在切换后,一个名为“nrepl error”的缓冲区会弹出,并且无法让我关闭。我必须强制关闭emacs。此外,nrepl没有太多的语法高亮。
总之: 在swank-clojure被弃用后,应该使用哪个repl?slime-repl?nrepl?还是其他?
我现在对clojure不太了解,因此我不确定repl的哪些功能很重要,但至少具有类似于nrepl中的语法高亮和轻松切换命名空间(如“C-C M-n”),以及可能的调试器会很好。
M-x package-list-packages
,您就可以安装undo-tree和auto-complete :-) 我可能很快会为它们添加一些额外的配置。使用nrepl.el的常规工作流程如下 - 在源缓冲区中按C-c C-k
编译并加载到REPL中,然后您可以轻松地在那里尝试代码。C-M-x
可用于评估单个顶级表单,或者使用C-x C-e
来评估最后一个表单。您可以使用C-c C-z
在源代码缓冲区和REPL缓冲区之间跳转。 nrepl.el的README.md非常详细。 - Bozhidar Batsov