我可以使用同一个emacs中的两个不同的lisp + slime/swank吗?

Art*_*ldt 14 lisp emacs clojure slime

我可以同时在emacs中使用常见的lisp和Clojure吗?我想将每个lisp-REPL放在自己的缓冲区中,如果我这样做,我怎么能控制哪个缓冲区将其数据发送到哪个lisp?

Pin*_*hle 19

是.在Slime的文档中,您会发现slime-lisp-implementations.以下是我在.emacs中定义它的方法:

(setq slime-lisp-implementations
   '((cmucl ("/usr/local/bin/lisp") :coding-system iso-8859-1-unix)
     (sbcl ("/usr/local/bin/sbcl" "--core" "/Users/pinochle/bin/sbcl.core-with-swank") :init (lambda (port-file _) (format "(swank:start-server %S :coding-system \"utf-8-unix\")\n" port-file)))
     (clozure ("/Users/pinochle/bin/ccl"))
     (clojure ("/Users/pinochle/bin/clojure") :init swank-clojure-init)))
Run Code Online (Sandbox Code Playgroud)

你使用M-- Mx Slime启动你的lisps.它将询问您启动哪个Lisp,并使用您定义的名称slime-lisp-implementations.在这个例子中,我会用cmucl,sbcl,clozureclojure.

您可以使用命令Cc Cx c切换"活动"REPL.有关详细信息,请参阅有关控制多个连接Slime文档.