我很想开始使用这些工具,但似乎我不够聪明:-(
我花了几个小时阅读文档、移动文件夹和编辑配置文件,但我仍然无法启动 Emacs ...
虽然花了很长时间才弄明白,但我还是成功地将 Steel Bank Common Lisp (SBCL)、GNU Emacs 和 SLIME 安装到了 Windows 7 64 位系统上。以下是我采取的步骤:
安装 Steel Bank Common Lisp。我通过单击与“Windows”和“AMD64”相交的框从SBCL 站点下载了它。它应该带您到 Sourceforge 页面,该页面会自动开始下载链接。这应该下载 binary.msi 文件而不是 tar.gx 文件。(我已经了解到 tar.gz 文件在 Windows 系统上处理起来很痛苦。)下载文件后,单击它应该会启动一个安装向导,它应该会逐步引导您完成安装过程.
在撰写本文时,64 位 Windows 的 SBCL 版本是 1.1.17,根据 SBCL 网站,这是一个正在进行的端口,而不是完全支持。如果您愿意,我想您还可以通过单击左侧的框下载更稳定的 32 位 Windows 1.1.12 版本;但是,我在使用 1.1.17 64 位版本的 SBCL 时还没有遇到任何严重的问题。
安装 GNU Emacs。这可以从 Emacs 镜像站点下载。(我打算为你链接它,但我仅限于发布两个链接,我需要保存一个链接以供以后使用。)单击 tar.xz 文件(不是 tar.gz 文件)以获取最新版本的Emacs,然后将 zip 文件下载到您的计算机;在撰写本文时,最新的 Emacs 版本是 24.3。下载后,使用 WinZip 或类似程序打开文件,然后将 zip 文件的全部内容解压缩到计算机上您选择的文件夹中(最好是在路径上与 C 驱动器相当接近且便于您访问的地方)记住)。您可以通过单击程序最顶部的“提取”按钮来提取 WinZip 中的文件;这应该在您的计算机上创建一个新文件夹,其中包含所有单独的 Emacs 文件。
在提取整个 zip 文件之前,阅读 zip 下载中包含的 README 和 README.W32 文件以收集更多信息可能会有所帮助,但如果严格遵循上述步骤,Emacs 应该会成功安装。安装后,它将极大地帮助您完成程序随附的 Emacs 教程。您可以单击首次打开 Emacs 时显示的教程链接,也可以在 Emacs 中按 [Control-h] 然后按 [t] 来加载教程。
安装史莱姆。SLIME 可以从它的 GitHub 页面下载,也可以点击 SLIME 主站点的“最新版本”链接;在撰写本文时,最新的 SLIME 版本是 2.5 版。同样,请务必单击源代码 zip 按钮而不是 tar.gz 按钮。与安装 Emacs 类似,这将下载一个 zip 文件,然后您可以使用 WinZip 将文件的全部内容提取到计算机上您选择的位置。但是,这一次,请确保将 SLIME 提取到不包含名称中带有空格的文件夹的路径位置*(即,不要将 SLIME 提取到“C:\Program Files”或“C:\Shared Folder\Programs "或类似的东西)。当我们将 Emacs 配置为运行 SLIME 时,这将在下一步变得重要。
*路径位置只是进入程序必须经过的文件夹列表。例如,您计算机上的文档可能具有路径“C:\Users\YourName\MyDocuments\document-title.doc”。在选择 SLIME 的位置时,除了避免名称中带有空格的文件夹外,请尝试将 SLIME 安装到离 C 盘相当近的文件夹中,因为接下来您必须记住并写出 SLIME 的路径位置步。
在 Emacs 中设置 SLIME。此时,您应该已在计算机上成功安装了所有必要的程序。最后一步,也是最难的一步,就是修改你的 .emacs 文件,这样你就可以在 Emacs 中使用 SLIME。(本页解释了如何非常好地操作 .emacs 文件,并且还包含了如果您计划定期使用 Emacs 会想知道的一般有用信息。)您可以通过运行 Emacs 来查找/创建 .emacs 文件和点击 [Control-x],然后点击 [Control-f]。这应该在底部缓冲区中打开一个查找文件命令;在冒号之后,输入“~/.emacs”(不带引号),按回车/回车,它应该会打开你的 .emacs 文件。此时,将下面的确切文本逐字复制到您的 .emacs 文件中:
(add-to-list 'load-path "C:\\wherever-you-installed-SLIME\\slime-2.5")
(需要'slime)
(add-hook 'lisp-mode-hook (lambda () (slime -mode t)))
(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t))))
(setq lower-lisp-program "sbcl")
将“C:\\wherever-you-installed-SLIME\\slime-2.5”替换为您的 SLIME 文件夹的任何路径位置和名称。
当您将其写入 .emacs 文件后,请使用菜单中的 File-Save 选项或点击 [Control-x] 然后点击 [Control-s] 来保存文件。如果出现另存为提示,请务必将文件命名为 .emacs 并将其保存在“C:\Users\YourName\AppData\Roaming\.emacs”下。(至少,这是我的 Windows 7 系统自动保存 .emacs 文件的地方。如果您的计算机将其保存在其他地方,如果需要,您可以在 C 盘中搜索 .emacs 文件的位置。)确保只有一个.emacs 文件的实例;如果 .emacs 文件有多个副本,则 Emacs 程序不一定会识别您刚刚设置的配置。
一旦你保存了上面写有代码的 .emacs 文件,关闭 Emacs 程序并重新打开它。重新打开后,键入 [Alt-x],然后键入 [slime](它将在底部显示为“Mx slime”)并按回车键。瞧:此时 Emacs 应该正在运行 SLIME。恭喜,您刚刚在 Windows 64 位系统上安装了 Emacs 和运行 SBCL 的 SLIME!
还记得我说过在提取 SLIME 时不要选择名称中带有空格的任何文件夹吗?这与这一步有关;如果您选择带有空格的文件夹(例如 C:\\Program Files\\slime-2.5),.emacs 文件会将其视为“C:\\Program”,而“Files\\slime-2.5”解释为附加信息而不是整个路径位置。如果由于某种原因您必须将 SLIME zip 文件解压缩到名称中带有空格的文件夹中,则有一些方法可以解决此问题,但这会不必要地使过程复杂化;我发现最简单的方法就是避免 SLIME 路径位置中的空格。在 .emacs 文件中写出路径位置时,请务必使用双反斜杠而不是单反斜杠,否则会遇到问题。(我经过惨痛的教训才学到这个。)
如果您还有任何疑问,请随时通过电子邮件给我发送消息。
最简单的入门方法可能是下载并运行Lispbox或Lisp Cabinet。它们都将 Emacs、SLIME、Quicklisp 和 Lisp 实现集成在一个包中,无需编辑任何配置文件。
注意 Lispbox 只支持 Clozure CL;但是虽然 Clozure CL 不是 SBCL,但它在外观、感觉和库支持方面非常相似。
这并不能直接回答这个问题,但如果可能的话,我建议您使用 Linux 作为您的操作系统。将 Linux 与 Windows 并排安装非常容易(我推荐 Ubuntu 作为 Linux 发行版)。
对于一些开源软件和软件包,在 Windows 上安装相当困难。大多数开源社区都在 Linux 上,许多开源开发人员似乎首先专注于提供易于使用的 Linux 安装过程。Web 开发特别是一个使用 Linux 更容易的领域。
我已经在 Windows 7 上设置了 Slime + SBCL,这非常痛苦。在 Ubuntu 上设置它非常简单快捷。如果您打算使用其他开源软件、库等,这是需要考虑的事情。
(让我们为谷歌同事回答这个老问题……)
从 2016 年底开始,我们可以使用Portacle,一个可移植的多平台 Common Lisp 开发环境。它附带 Emacs25(略微定制)、SBCL、Slime、Quicklisp 和 Git 全部打包在一起,无需安装:下载、解压和运行。这是最简单的方法!
(看起来我们有更多的工具,比如 Lisp Machine,一个 Docker 容器中的 lisp IDE:https ://github.com/CodyReichert/awesome-cl#text-editor-resources )