我想在Windows上运行常见的lisp(SBCL),但我不能。 我是新手,这是我第一次尝试 运行lisp,我已按照指令试过了 以下链接已给出; http://www.pchristensen.com/blog/articles/installing-sbcl-emacs-and-slime-on-windows-xp/
我下载了工作人员并进行了相应的安装 这是我安装后的目录树:
C:\ home - bin,usr。
中的两个目录在bin dir;
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:\家\ BIN \ emacs的\站点口齿不清\站点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键入粘液时,它表示不匹配如下; “M-x粘液 [不匹配] ”。
请告诉我如何调用适当的lisp环境 并执行简单的lisp代码,如(+ 2 2)以查看结果。
谢谢。
答案 0 :(得分:1)
(setenv "HOME" "C:/home/")
将Emacs的环境变量$HOME
设置为C:/ home目录。如果Emacs将.emacs文件保存到其他目录 - 这意味着它没有加载site-start.el文件,因此,它没有加载.emacs文件。
要检查的内容:
执行 M - : (getenv "HOME")
- 这应该打印“C:/ home”,但如果没有,请再次执行 M - :< / kbd> (mapcar #'message load-path)
Cx 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和分号”,像 Cx b 这样的键意味着“按下控制键” ,按住它,按“x”,释放它们并按“b”。元键通常是Alt键,但也使用ESC。