1

Slime多lisp启动

 2 years ago
source link: https://imnisen.github.io/slime-multi-lisp.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Slime多lisp启动

slime-multi-lisp-01.png

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;)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK