在emacs中设置SLIME

sud*_*008 12 lisp emacs common-lisp slime

我正在尝试安装SLIME.我下载了压缩包,根据README文件,我不得不把这段代码放在.emacs文件中:

(add-to-list 'load-path "~/hacking/lisp/slime/")  ; your SLIME directory
(setq inferior-lisp-program "/opt/sbcl/bin/sbcl") ; your Lisp system
(require 'slime)
(slime-setup)
Run Code Online (Sandbox Code Playgroud)

slime目录很简单.关于Lisp系统.我怎么找到它?

小智 21

有些Linux预装了CMUCL,但由于你似乎想要使用SBCL,你需要安装它.

在终端或Emacs中M-xshell.如果您使用的是类似Debian的发行版,则可以使用apt-get或aptitude:

$ sudo apt-get install sbcl
Run Code Online (Sandbox Code Playgroud)

要么

$ sudo aptitude install sbcl
Run Code Online (Sandbox Code Playgroud)

在类似RHEL的发行版上:

$ sudo yum install sbcl
Run Code Online (Sandbox Code Playgroud)

安装SBCL后,您可以设置inferior-lisp-program为"sbcl".

另外,我建议通过quicklisp-slime-helper安装SLIME

你需要安装一些你喜欢的Lisp(让它成为SBCL用于此目的,如上所述),然后,在同一个shell中执行以下操作:

(假设您使用的是类似Debian的Linux)

$ sudo apt-get install wget
$ cd ~/Downloads
$ wget http://beta.quicklisp.org/quicklisp.lisp
$ sbcl --load ./quicklisp.lisp
Run Code Online (Sandbox Code Playgroud)

等到你看到Lisp shell提示,

* (quicklisp-quickstart:install)
* (ql:add-to-init-file)
* (ql:quickload "quicklisp-slime-helper")
* (quit)
Run Code Online (Sandbox Code Playgroud)

现在你回到了常规的shell中.启动Emacs,如果尚未打开.C-f x~/.emacs.添加下面的行(而不是上面发布的):

(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
Run Code Online (Sandbox Code Playgroud)

或者将"sbcl"替换为您安装的Lisp实现.

查看Quicklisp文档以获取更多信息.你会发现你以后会使用Quicklisp,所以从一开始就把它全部放在一个地方很有用.


小智 5

最佳答案有点旧。

现在 emacs 有一个官方的包管理器。您可以通过 MELPA 存储库安装 slime。首先设置 MELPA,然后M-x package-install RET slime RET.

之后,您可以设置您inferior-lisp-program喜欢的最佳答案。