当前位置: 首页 > news >正文

Windows下Lisp环境配置

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

第一部分 安装与简单配置简单说明


一、emacs

    1.emacs的安装

        emacs在windows下的安装很简单,直接到官网http://www.gnu.org/software/emacs/emacs.html下载zip包,然后解压就可以用了。

    2.emacs的配置说明

        emacs的配置文件默认在"~/"目录下,windows默认的"~/"目录为"C:/Users/用户名/AppData/Roaming/"目录,配置文件为.emacs,默认的库文件都放在.emacs.d文件夹中。


二、sbcl

    1.sbcl的安装

        sbcl安装需到官网http://www.sbcl.org/下载windows的安装文件,直接安装即可。默认安装位置为"C:\Program Files[ (x86)]\Steel Bank Common Lisp\1.1.12"。

    2.sbcl的配置

        其配置留待slime的配置时一起说明。


三、slime

    1.slime的安装

        直接到https://github.com/slime/slime下载zip解压或者直接git clone都可以,我是直接解压到"~/.emacs.d/Lisp/slime"目录。

    2.slime的配置

        sbcl和slime的配置很简单,我是把Lisp环境作为一个整体来管理的,在"~/.emacs"文件中加入sbcl的路径(因为这个是绝对路径,以后可能会改动):(windows下路径需要用“转义符”+“反斜杠”的形式来表示或者直接“斜杠”也可)

(add-to-list 'load-path "C:\\Program Files (x86)\\Steel Bank Common Lisp\\1.1.12")

        然后,将Lisp整个环境的管理文件放到"~/.emacs.d/Lisp.el"文件中,该文件内容如下(“;”表示注释):

;------------------------------- Lisp -------------------------------------------
(setq inferior-lisp-program "sbcl")                    ;设置sbcl为解释器
(add-to-list 'load-path "~\\.emacs.d\\Lisp\\slime")    ;引入slime路径
(require 'slime-autoloads)                             ;启动时自动载入
(slime-setup '(slime-fancy))
(provide 'Lisp)

        同时,需要在"~/.emacs"中加入Lisp.el文件所在的目录的路径以及表示启动emacs自动载入配置文件的语句:

(add-to-list 'load-path "~\\.emacs.d")
(require 'Lisp)

        该语句与"~/.emacs.d/Lisp.el"中的(provide 'Lisp)相对应,因此"~/.emacs"中的配置代码如下所示:

(add-to-list 'load-path "~\\.emacs.d")
;-- Lisp --;得先安装sbcl
(add-to-list 'load-path "C:\\Program Files (x86)\\Steel Bank Common Lisp\\1.1.12")
(require 'Lisp)

        至此,该配置就算结束了,当然,也可以直接将配置写到"~/.emacs"文件中,只要在其中加入如下代码即可:

(add-to-list 'load-path "C:\\Program Files (x86)\\Steel Bank Common Lisp\\1.1.12")
(setq inferior-lisp-program "sbcl")                    ;设置sbcl为解释器
(add-to-list 'load-path "~\\.emacs.d\\Lisp\\slime")    ;引入slime路径
(require 'slime-autoloads)                             ;启动时自动载入
(slime-setup '(slime-fancy))


四、quicklisp

    1.quicklisp安装

        quicklisp的安装官网http://www.quicklisp.org/beta/说的还是比较明白的:

            1)首先下载quicklisp.lisp文件

            2)根据上面的配置应该已经可以运行emacs+sbcl+slime环境了,打开emacs,输入"M-x slime"进入lisp环境(或者直接运行"C:\Program Files (x86)\Steel Bank Common Lisp\1.1.12\sbcl.exe"也可)

            3)用命令“(load "quicklisp.lisp文件路径")”载入quicklisp.lisp文件

            4)用命令“(quicklisp-quickstart :install :path "quicklisp安装的路径")”安装到指定路径,我的安装路径是"~/.emacs.d/Lisp/quicklisp/"

            5)最后让sbcl启动的时候自动载入quicklisp就行了,先载入setup.lisp,用命令“(load "quicklisp安装路径/setup.lisp")”载入,然后用命令“(ql:add-to-init-file)”来这只sbcl启动的初始化文件".sbclrc",运行过程中会让你按任意键继续。

            最后生成的sbcl初始化文件应当如下所示:

;;; The following lines added by ql:add-to-init-file:
#-quicklisp
(let ((quicklisp-init (merge-pathnames ".emacs.d/Lisp/quicklisp/setup.lisp"
                                       (user-homedir-pathname))))
  (when (probe-file quicklisp-init)
    (load quicklisp-init)))

            其中".emacs.d/Lisp/quicklisp/setup.lisp"是我安装的quicklisp下的setup.lisp的相对路径,该文件与".emacs"文件同在“~”目录下。 

转载于:https://my.oschina.net/SpaceyLi/blog/288092

相关文章:

  • 定时休息护眼神器(EyeDefender)护眼大法
  • android 屏幕适配问题
  • .Net程序帮助文档制作
  • MySQL备份与恢复常用方法总结(mysqldump/xtrabackup/lvm快照备份/逻辑备份与恢复/二进制日志及时点恢复)...
  • samba服务的安装与配置
  • 关于sqlmap的一些命令
  • Nothing2
  • Download Images Using NSURLConnection
  • 维基百科上—数据仓库、数据挖掘、OLAP三者之间的区别
  • 【翻译笔记】在大集合中用MapReduce处理成对文档相似性
  • SCOI2013 多项式的运算 (BZOJ 3323)
  • iframe的使用小贴士
  • [转]操作复杂对象结构——访问者模式
  • 使用JDK开发Servlet程序
  • 程序员,你需要大量地阅读
  • Android系统模拟器绘制实现概述
  • Druid 在有赞的实践
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • MySQL QA
  • Octave 入门
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • rc-form之最单纯情况
  • sessionStorage和localStorage
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Vue 2.3、2.4 知识点小结
  • vue自定义指令实现v-tap插件
  • 飞驰在Mesos的涡轮引擎上
  • 技术发展面试
  • 京东美团研发面经
  • 前端面试之闭包
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 《天龙八部3D》Unity技术方案揭秘
  • ​MySQL主从复制一致性检测
  • ​低代码平台的核心价值与优势
  • #LLM入门|Prompt#3.3_存储_Memory
  • #pragma 指令
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (7)STL算法之交换赋值
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (分类)KNN算法- 参数调优
  • (实战篇)如何缓存数据
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • (转)用.Net的File控件上传文件的解决方案
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .Net中wcf服务生成及调用
  • /proc/stat文件详解(翻译)
  • :not(:first-child)和:not(:last-child)的用法