Slime多lisp启动
Slime 是一个基于emacs的common lisp的开发环境,而common lisp 的有许多实现,比如:SBCL, CMUCL, Clozure CL 等,有时候需要在slime里启动启动不同的lisp,
slime提供了对于多lisp的设置,将不同的实现添加到 slime-lisp-implementations
里。具体语法和含义参考文档, 我的改法是这样的:
;; emacs的配置文件 (after-load 'slime (when (executable-find "sbcl") (add-to-list 'slime-lisp-implementations '(sbcl ("sbcl") :coding-system utf-8-unix))) (when (executable-find "lisp") (add-to-list 'slime-lisp-implementations '(cmucl ("lisp") :coding-system iso-latin-1-unix))) (when (executable-find "ccl") (add-to-list 'slime-lisp-implementations '(ccl ("ccl") :coding-system utf-8-unix))))
这样当我系统里安装了sbcl、cmucl或者ccl的时候,就可以通过slime来选择启动不同lisp了。这样好处是将不同的lisp安装和slime的配置解耦。
具体不同lisp的安装可以参考各自文档不同平台的说明。
启动的时候,用 M-- M-x slime
来选择启动不同的lisp,如果不加前缀,会启动 slime-default-lisp
设置的lisp或者 slime-lisp-implementations
里第一个lisp。
Happy hacking! (Although sometimes, slime+emacs make me mad;)