Contents
Emacs + Slime 简直就是 Common Lisp 的绝佳编程环境,一个非常好用的 IDE 。当然,Emacs 和 Slime 都没有提供 Common Lisp 解释器以及编译器,所以还 需要另外一个搭档,Slime 目前支持的 Common Lisp 实现包括:CMUCL、SBCL、 OpenMCL、LispWorks、Allegro Common Lisp、CLISP 。通常选择 SBCL 就可以 了。
小技巧
快速查看定义
M-.
可以快速查看到某个 symbol 的定义,如果是在 Debian 系统上使用的
SBCL 的话,只需要
就可以直接在系统源文件里面跳转而获得系统内部的 symbol 的定义了,非常方 便。
临时的运行环境
有时候正在写一大段代码(例如一个 defun
)的时候,突然对某一个函数的行为
不是很确定,想要尝试一下,但又不能直接把这一大段代码扔掉,先复制,待会
再粘贴回来,都总觉得麻烦。这个时候只需要 M-x slime-scratch
就可以打开
一个“草稿 buffer”,就像 Emacs 自己的 *scratch*
buffer 一样,可以通过
C-j
来对表达式求值。非常方便。
查询 HyperSpec
在 Slime 里面也可以非常方便地查询 HyperSpec 。 C-c C-d h
可以在
HyperSpec 里面查询一个 symbol ,而 C-c C-d ~
则可以查询一个 format 字符。
查询通常会连接到网上,也可以把 HyperSpec 下载到本地,并设置
common-lisp-hyperspec-root
变量为本地目录就可以直接在本地查询了,非常
快捷方便!
如果安装了 Emacs-w3m 的话,直接在 Emacs-w3m 里面打开 HyperSpec 就更方 便了:
直接在 Emacs 里面浏览的话,复制、粘贴之类的也要方便得多呢!