我可以同时在emacs中使用常见的lisp和Clojure吗?我想将每个lisp-REPL放在自己的缓冲区中,如果我这样做,我怎么能控制哪个缓冲区将其数据发送到哪个lisp?
是.在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)))
你使用M-- Mx Slime启动你的lisps.它将询问您启动哪个Lisp,并使用您定义的名称slime-lisp-implementations
.在这个例子中,我会用cmucl
,sbcl
,clozure
或clojure
.
您可以使用命令Cc Cx c切换"活动"REPL.有关详细信息,请参阅有关控制多个连接的Slime文档.