关于EMACS+SBCL+SLIME编译环境加载文件

褐衣 发布于 2016/06/13 20:04
阅读 161
收藏 1

运行在win8,64位.C-c,C-l加载文件后,会报错

把保存的文件里面开头的CL-USER>删掉后可以正常加载,是不是我保存文件方法不对啊?

加载中
0
FreeBlues
FreeBlues

CL-USER> 是 slime 的提示符, 它不能写进 lisp 文件中, 因为没办法求值, 所以正确的 lisp 文件里不能以它开头.

褐衣
褐衣
多谢,那我要怎么把用slime写好的文件保存成能作为程序加载的文件?
0
FreeBlues
FreeBlues

我怀疑你是直接把 REPL 区的内容手动保存了, 首先你得搞清楚编辑缓冲区和 REPL区, 按照下面的步骤来操作好了, 先创建一个 lisp 文件, 它会出现在一个编辑缓冲区, 再创建一个对应于这个文件的 REPL区, 具体操作如下:

1.创建新文件:

使用如下快捷键 C-x C-f 就是先同时按下 Ctrl 键 和 x 键,然后全部松开,再同时按下 Ctrl 键 和 f 键,再松开,Emacs 屏幕底部会显示如下: Find file: ~/ 默认保存在当前用户目录下,Mac系统是 /Usrs/admin/

2. 新建一个 REPL 区

C-c C-z 可以直接调出一个关联到当前文本编辑界面的 REPL 窗口

褐衣
褐衣
多谢你的悉心教导,快捷键含义我明白,这样新建之后是不是M-x开slime mode就可以了,我明天试一试晚上再问你。真的非常感谢!
0
FreeBlues
FreeBlues

一般来说是可以通过 M-x 启动 slime的, 不过它需要你预先在 Emacs 的配置文件里设置好.

褐衣
褐衣
我C-x,C-f新建了文件之后,是不是在C-c,_C-z关联的slime-REPL sbcl区写代码,求值,debug,然后把满意的代码复制到我C-x,C-f新建的文件里面,再保存?
0
FreeBlues
FreeBlues

反了, 你这样弄起来很麻烦.

写代码直接在文件缓冲区写,  运行调试代码在 REPL 区, 而且两者有快捷键切换.

当你在文件缓冲区写完一个函数时, 你可以把光标放在函数代码段内的任意一个位置,然后输入快捷键:

C-c C-y 把光标所在区域的函数名称发送到对应的 REPL 进程中,非常方便调试代码


当你想从 REPL 区切换回文件缓冲区, 可以使用下面的快捷键:

C-x o 先同时按下 Ctrl 键 和 x 键,松开,再按下 o 键

褐衣
褐衣
我看了一下那个slime的使用说明,试了一下之后,明白了,要先对文件缓冲区的表达式C-c C-p求值,,然后在文件缓冲区C-c C-y发送函数到REPL调试.终于是会用了,多谢指教!
返回顶部
顶部