Windows 下安装 Emacs+Sbcl+Slime
旧文重发,略作修改
前言
其实网上已经有很多类似的文章了,我也是按照上面的来做。在做的过程中会遇到几个很坑的地方,我自己也是折腾了好久才弄好。所以现在写出来希望能对大家有所帮助。
正文
下载和安装 Emacs
http://ftp.gnu.org/gnu/emacs/windows/emacs-24.3-bin-i386.zip
解压运行安装
下载 Sbcl
http://www.sbcl.org/platform-table.html
选 Windows 和你的架构。如果不知道的话就选 X86 就行了。
下载 Slime
https://github.com/slime/slime
如果你有 github 帐户就直接 git clone 吧。如果没有的话,点 download zip 然后解压。
安装Sbcl
双击安装包,改一下安装路径到你想安装的地方。但是这里有一个坑。
坑1:系统变量重启才会更新
这是因为在安装的过程中会给系统加一个 Sbcl 路径的变量。
所以一定要安装完后重启,不然就会提示
fatal error encountered in SBCL pid 10236(tid 9971200):
can’t find core file at XXXXX
安装成功的标志是运行 sbcl.exe 会出现类似这样的界面:
配置 Emacs
本来在 Linux 下配置 Emacs 是一件简单的事,但在 Windows 下就不那么容易了。因为 Windows 文件名命名机制这里有一个坑。
坑2:找不到 Emacs 的配置文件 .emacs
这是因为 Windows 不允许只有扩展名而没有文件名(在 Windows 看来是 .emacs 非法的,必须是 XXX.emacs 才是合法的。Linux 则是看成一个隐藏文件而已)
所以要做的第一步是生成 .emacs 配置文件
原理是通过修改选项之后点保存选项会生成 .emacs 配置文件
方法很简单。在 Emacs 目录下双击 runemacs.exe 打开 emacs
然后在菜单栏里点 Options—-Show/Hide—-tool-bar
之后点 Options—-Save options
这样就会在 C:\Users\你的用户名\AppData\Roaming
下生成一个 .emacs
打开 .emacs 输入以下内容以配置 Slime
1 | (setq inferior-lisp-program "sbcl路径"); 设置优先使用哪种 Common Lisp 实现 |
其中路径使用/
或者//
分隔
这其中有一个坑需要小心
坑3:sbcl 的路径一定要写到 sbcl.exe 不然会提示
Specified program for new process is a directory
这个真的是深坑啊。当时我花了不少时间才折腾好
原理就是 slime 调用的时候不会从你填的路径找到 sbcl.exe 而是需要给出 sbcl.exe 的完整路径
我的 .emacs 配置是这样的
打开 Emacs 按 M-x(window下就是Alt+x)输入 slime 之后会出现像这样的
输入"Hello Common Lisp!"
一声长叹
后记
一些常用的 Slime 快捷键
1 | C-c C-k 编译当前文件 (也就是Ctrl+c后再Ctrl+k) |
当然以上快捷键都可以再 .emacs 里面改。
PS:我的配色是 solarized 字体是 Monaco
PSS:以上是 Vim 的配色。Emacs 的配色是自带的 dichromacy