第一步,安装emacs+slime+sbcl/ccl/...

2.1安装完成后重启系统,否则会提示:fatal error encountered in SBCL pid 10236(tid 9971200): can't find core file at XXXXX。检测环境变量是否生效的方法是:打开windows控制台,输入sbcl,回车,看是否能正确执行.

2.2如果路径中有空格,则配置文件中就会有空格,安装时不会出错,但是在emacs中运行M-x slime时会出现问题:apply: Spawning child process: invalid argument.

具体问题可以参考下列博客

第二步,emacs的配置

打开系统路径:C:\Users\你的用户名\AppData\Roaming,找到.emacs文件,打开方式选择记事本即可(以后可以使用emacs),在其中添加如下语句:

(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);这句也没效果....

这样设置之后就可以使用汉语写lisp文件了,如图:

这样就解决了中文乱码问题.

要写这样一个程序,首先可以新建一个空文本文档,将格式改为.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即可.

非常感谢大神们对于小生曾经提出问题的悉心帮助!

天正lisp修改了配置_Common Lisp支持中文编辑和编译的windows下环境搭建志相关推荐

  1. windows下环境变量配置后没生效,不重启电脑的解决办法

    本篇文章主要讲解windows配置了环境变量但没有生效的原因及不重启电脑的解决办法 作者:任聪聪 配置环境变量后显示命令不存在,找不到,现象如下. 主要原因 windows配置完毕环境变量,由于某种原 ...

  2. Windows下一键搭建MBP系统,支持多种版本任意选择,免费永久使用,多系统使用新方案

    Windows下一键搭建MBP系统,支持多种版本任意选择,免费永久使用,多系统使用新方案. 安装起来相当的简单,简单到只需要执行一行命令即可完成.使得游戏和开发可以兼顾,并且不用花费数万米的可以使用M ...

  3. 天正lisp修改了配置_转:Windows下Lisp开发环境的安装配置

    最近买了新出的<实用Common Lisp编程>,准备学习Lisp.结果到书上面所说的网站下载开发环境的时候,发现作者不再更新了.没办法,只好自己搭建开发环境. Lisp开发最推崇的环境是 ...

  4. centos中文乱码修改字符编码使用centos支持中文

    安装中文语言包: yum groupinstall chinese-support 修改字符编码配置,没有这个文件就创建它: vim /etc/sysconfig/i18n 修改后内容如下: LANG ...

  5. 开源资产管理软件—OCS Inventory NG+ GLPI 系统安装配置UTF-8版 支持中文

    感谢Chris Woo 系统环境: CentOS5.5 64bit (32bit 测试通过) 一,OCS和GLPI安装包准备 Server端:OCS1.3.2UTF8版 (linvinus 版) OC ...

  6. 配置中文_星球大战:战机中队配置需求公布 支持中文

    近日<星球大战>系列新作<星球大战:战机中队>公布,该作采用寒霜引擎打造,支持中文.游戏将于2020年10月3日发售,预购价格为238元,登陆Xbox One/PS4/PC(S ...

  7. ubuntu下修改mysql编码,使能支持中文

    通过sudo apt-get install mysql-server安装的mysql的编码是latin1,不能支持中文. 需要修改/etc/mysql/my.cnf文件,可以通过vim或者gedit ...

  8. Golang入门教程(十七)Linux/Windows下快速搭建和配置NSQ

    前言 NSQ是一个基于Go语言的分布式实时消息平台,它基于MIT开源协议发布,代码托管在GitHub,其当前最新版本是0.3.1版.NSQ可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消 ...

  9. 5.7.24mysql 配置安卓,安卓按键精灵连接MySQL全面解析Windows下安装 mysql5.7的方法

    关于在windows下安装mysql 5.7 •要注意的新坑: 5.7版本安装后ROOT账号是有默认的密码的,这个密码在windows下可以在mysql.ini配置文件指定的data文件夹下面,那个为 ...

最新文章

  1. exit语句php,php or die() 语句,exit()
  2. FPGA设计心得(12)如何正确使用 in_system_ibert ?
  3. 鸟哥的Linux私房菜(基础篇)-第零章、计算机概论(零.1)
  4. 文档模型(JSON)使用介绍
  5. org.springframework.http.converter.HttpMessageNotReadableException: Required request body is(亲测)
  6. 单片机脉宽测量C语言,单片机脉宽测量的程序
  7. html表单不允许修改,[问题]如何在表单里定义(form)仅仅可读,不可修改的列?
  8. Free Mybatis plugin
  9. vSphere 7 With K8s系列07:客户端工具使用
  10. JavaScript学习(八十五)—数据类型的转换
  11. 各种机器学习任务的顶级结果(论文)汇总
  12. Powerbuilder 12.5 下载地址
  13. JavaWeb 简单实现客户信息管理系统
  14. HTTP常见错误码原因及解决方法
  15. 剖析虚幻渲染体系(15)- XR专题
  16. vue源码学习(第一张) this访问data数据 拆散之后并不难
  17. 管理感悟:一种招聘考试的想法
  18. jmap 几个慎用操作
  19. 关于语义分割预测出来的图片全黑的解决办法
  20. HBulider X js内存溢出

热门文章

  1. html全排列,JavaScript全排列的六种算法 具体实现
  2. 浪漫结婚典礼PPT模板
  3. vb吐槽班02 不要以为学生信息管理系统很难啊魂淡!
  4. C语言之EOF、feof函数、ferror函数
  5. linux最低配置版本,Linux各个版本配置要求
  6. 水面反射贴图为什么会出现扭曲现象
  7. 企业网络会议室解决方案-VIP会议室解决方案
  8. mysql注入fuzz字典_SQL注入常规Fuzz全记录
  9. DQN(基本概念和进阶技巧)
  10. C++:超市货架管理系统