2.1安装完成后重启系统,不然会提示:fatal error encountered in SBCL pid 10236(tid 9971200): can't find core file at XXXXX。检测环境变量是否生效的方法是:打开windows控制台,输入sbcl,回车,看是否能正确执行.html
2.2若是路径中有空格,则配置文件中就会有空格,安装时不会出错,可是在emacs中运行M-x slime时会出现问题:apply: Spawning child process: invalid argument.git
3.下载slime,http://github.com/slime/slime,解压缩到合适的路径便可.github
具体问题能够参考下列博客windows
http://www.tuicool.com/articles/FBzANvEapp
打开系统路径:C:\Users\你的用户名\AppData\Roaming,找到.emacs文件,打开方式选择记事本便可(之后可使用emacs),在其中添加以下语句:ide
(load-file "本身的emacs安装目录/emacs-24.3/.emacs") ;注意斜杠不要搞错,若是目录下没有.emacs,就把原来的.emacs复制过去,以后改写内容 (setenv "HOME" "同上那个目录/emacs-24.3/") (setenv "PATH" "同上那个目录/emacs-24.3/") ;;set the default file path (setq default-directory "~/")
改写了emacs配置文件的路径后,找到emacs文件夹内,复制过去的.emacs文件,打开它,改写以下:函数
(custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(case-fold-search nil) '(current-language-environment "utf-8");这句不须要gb18030 '(column-number-mode t);下面这几句没有什么实际效果,有追求的同窗能够再研究下 '(cua-mode t nil (cua-base)) '(show-paren-mode t) '(text-mode-hook (quote (text-mode-hook-identify))) '(uniquify-buffer-name-style (quote forward) nil (uniquify))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. ) ;============================= (setq inferior-lisp-program "E:/ProgramData/SBCL/sbcl.exe -K utf-8") ;按照本身的sbcl路径配置正确,注意斜杠,不要弄错 (add-to-list 'load-path "E:/ProgramData/SBCL/slime/");slime路径,我放到sbcl下了 (require 'slime-autoloads) ;自动加载slime所有,若是是'slime,会致使不少快捷键用不了 (slime-setup '(slime-fancy ; slime-asdf slime-banner ));舒服的slime风格'(slime-fancy),好比把sbcl的*变成CL-USER> ;============================= ;注意,下面这句使用gb18030等编码会致使utf-8设置下的编译失败,因此用utf-8 (set-language-environment "utf-8") ;注意,下面这句不能utf-8,不然打开汉语名文件不显示内容 (setq file-name-coding-system 'gb18030) ;下面这句用于解决个别机器的乱码问题 (set-fontset-font "fontset-default" 'cp936 '("SimSun" . "unicode-bmp")) (set-buffer-file-coding-system 'utf-8) (set-terminal-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-selection-coding-system 'utf-8) (set-next-selection-coding-system 'utf-8) (set-default-coding-systems 'utf-8) (set-clipboard-coding-system 'utf-8) (setq ansi-color-for-comint-mode t) (modify-coding-system-alist 'process "*" 'utf-8) (setq-default pathname-coding-system 'utf-8) (prefer-coding-system 'utf-8) (setq default-process-coding-system '(utf-8 . utf-8)) (setq locale-coding-system 'utf-8) (setq default-buffer-file-coding-system 'utf-8) (setq slime-net-coding-system 'utf-8-unix) ;;============================美化设置 (set-cursor-color "white") (set-mouse-color "blue") (set-foreground-color "green") (set-background-color "black") (set-border-color "lightgreen") (set-face-foreground 'highlight "red") (set-face-background 'highlight "lightblue") (set-face-foreground 'region "darkcyan") (set-face-background 'region "lightblue") (set-face-foreground 'secondary-selection "skyblue") (set-face-background 'secondary-selection "darkblue") ;;=============================键绑定 (global-set-key [f1] 'help-command);将帮助命令绑定到 F1键 (global-set-key "\C-c\M-q" 'slime-reindent-defun);这句也没效果....
这样就能够支持中文编辑了,还能够参考Free lues的博客http://my.oschina.net/freeblues/blog/105566ui
这样设置以后就可使用汉语写lisp文件了,如图:编码
这样就解决了中文乱码问题.spa
要写这样一个程序,首先能够新建一个空文本文档,将格式改成.lisp再用emacs打开,或者打开emacs,C-x,C-f(C表示Ctrl键,M表示Alt键,意思就是先按Ctrl+x再按Ctrl+f),下边栏出现Find file,输入"文件名.lisp",(若是原路径没有,就会新建文件),enter后会打开相应文件,并创建对应缓冲区(buffer).
按下M-x 输入slime,(M-x slime),enter启动slime.
接着在文件中写代码,而后按C-c,C-c编译函数或C-x,C-e求值S表达式,以后能够在写好的函数区块按C-c,C-y,将函数发送到slime的缓冲区来调试函数.
只需在with-open-file宏或相关函数中添加以下代码:
:external-format :utf-8或:external-format :gbk
便可.
1. 在lisp文件中写入以下代码:
(compile-file "编辑的lisp文件.lisp" :external-format utf-8)
而后C-c,C-l加载编译后生成的.fasl文件便可加载文件中的所有函数.
切记不要在文件中写下(load "编译后的.fasl")语句,不然在编译(compile-file.....)时会致使无限循环从而出错!
2. 或者在slime的缓冲区写入
(load "目标文件.lisp" :external-format :utf-8)
接着enter便可.
使用lispbox的朋友也能够参考FreeBlues大神的博客 http://my.oschina.net/freeblues/blog/89720
很是感谢大神们对于小生曾经提出问题的悉心帮助!