我想在 Windows 上运行 common lisp (SBCL),但我不能。 我是新手,这是我第一次尝试 运行 lisp,我已经按照说明尝试了 以下链接已给出; http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/
我下载了工作人员并进行了相应安装 这是我安装后的目录树:
C:\home 中的两个目录 - bin、usr。
在 bin 目录中;
C:\home\bin\emacs\site-lisp\slime
C:\home\bin\SBCL-1.0.13\
和四个空目录:doc、info、lisp、site 在 c:\home\usr 中
我的路径是;
PATH C:\home\bin\SBCL-1.0.13\;C:\home\bin\emacs\bin\;
SBCL_HOME C:\home\bin\SBCL-1.0.13\
根据说明,我创建了 并放置了一个文件,site-start.el 之类的; C:\home\bin\emacs\site-lisp\site-start.el
site-start.el 包含以下行:
(setenv "HOME" "C:/home/")
创建了另一个文件 .emacs,其中包含以下内容;
(setq inferior-lisp-program "sbcl")
(add-to-list 'load-path "c:/home/bin/emacs/site-lisp/slime/")
(require 'slime)
(slime-setup)
并且自动保存在C:\Documents and Settings\Administrator\Application data\ 当我使用 Ctrl x Ctrl s 保存它时。
当我通过键入 c:\home\bin\emacs\bin\emacs.exe 调用 emacs 时, Emacs 出现,当我键入 Esc - 时,提示“M-x”出现在底部,当我按 M-x 键入 slime 时,它说不匹配,如下所示; “M-x 粘液[不匹配]”。
请告诉我如何调用合适的 lisp 环境 并执行简单的 lisp 代码,如 (+ 2 2) 以查看结果。
谢谢。
最佳答案
(setenv "HOME""C:/home/")
将 Emacs 的环境变量 $HOME
设置为 C:/home 目录。如果 Emacs 将 .emacs 文件保存到其他目录 - 这意味着它没有加载 site-start.el 文件,因此,它没有加载 .emacs 文件。
要检查的内容:
执行 M-:
(getenv "HOME")
- 这应该打印“C:/home”,但如果没有,再次,执行 M-:(mapcar #'message load-path)
C-x b*Messages*
并查看它打印的目录列表。您的 site-start.el 文件必须位于这些目录之一中。打开 Windows shell 终端窗口:Win R 并键入
cmd.exe
。这应该打开终端窗口,其中运行 Windows shell。键入sbcl
。如果您看到许可文本和提示(通常是 SBCL 中的星号字符)- 没关系,否则,您可能需要重新启动系统才能使对环境变量所做的更改生效。如果你不想重启,你可以这样做:set PATH=C:/path/to/sbcl;%PATH%
在您要启动 SBCL 的同一个 shell 窗口中。但是,您需要将 inferior-lisp-program
变量设置为 SBCL 可执行文件的完整路径,直到您重新启动。
当你解决了这两个问题后,再次尝试加载 SLIME,就像你之前尝试过的那样。
M-: 等键表示“按下元键并按住它,同时按下 Shift 和分号”,C-x b 等键表示“按下控制键,同时按住它,同时按下“x”,释放它们并按下“b”。Meta 键通常是 Alt 键,但也使用 ESC。
关于windows - 我无法在 Windows 上设置和配置 Common LISP (SBCL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12923793/