最近在阅读sicp这本书,书中的代码是使用scheme
实现的。之前阅读的时候是使用Dr.Racket
来完成写练习的,可我觉得与其这样,不如一步到位,使用emacs+lisp
解释器来的比较快。
安装emacs
直接点击官方教程点我查看,上面讲解的十分清楚,基本上不同系统的安装方式大同小异,下载后点击运行,还是很简单的吧。
安装lisp解释器
lisp有无数种实现的版本,这里我使用的是Racket
,因为我之前电脑上就有Dr.Racket
所以不用下载,如果你没有的话,可以点击Racket下载地址,选择合适系统的版本进行下载,当然你也可以选择其他lisp方言的实现版本,例如Petite Chez Scheme下载地址。下载完解压即可。
下载完毕后,你可以得到这样的一些程序
接着设置将上图解释器所在的文件夹路径设置到系统路径中(windows=环境变量,mac/linux=$path
),接着在终端敲击racket --version
来检查是否设置成功。如果出现以下信息,你就成功了。
安装一些必要而有效的插件
我们需要安装简单的几个插件来帮助我们高效的编写和运行代码。
设置插件源
和linux安装软件类似,这里我们设置MELPA
的安装源,这样我们就可以一键安装代码了,十分方便。
鉴于国外访问速度很慢,我们这里使用国内的镜像源,这里要感谢一直维护*软件的人,否则这些工具的设置与配置哪里会有这么容易和便捷:)
emacs
中所有的配置都在~/.emacs
这个文件中,对于windows,就是在C盘的个人目录文件夹下。我们可以通过编辑这个文件来对emacs进行一些自定义的配置。打开.emacs文件,在文件的末尾加上以下配置,设置我们的插件安装源。
;; melpa 安装源
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://elpa.emacs-china.org/melpa/")
t)
(package-initialize)
这样就可以方便的安装插件了。
安装Racket-mode
Racket-mode
很好用,执行代码,高亮,提示,反正我觉得该有的都OK,下面就进行安装。
使用以下命令M-x package-install <ret> racket-mode
,M代表alt
组合键的意思,ret
代表回车,所以该命令实际上就是
-
alt+x
打开命令模式 - 输入
package-install
(可以用空格键/tab来提示),回车 - 再输入要安装的插件名
racket-mode
,回车确认,等待安装完毕。
怎么样,很简单吧。
安装完毕后,在配置文件.emacs
配置文件中增加以下代码的配置
;;racket配置,设置解释器,自动补全,代码执行等
(require 'racket-mode)
(setq racket-racket-program "racket")
(setq racket-raco-program "raco")
(add-hook 'racket-mode-hook
(lambda ()
(define-key racket-mode-map (kbd "C-x C-j") 'racket-run)))
(setq tab-always-indent 'complete)
安装ParEdit
ParEdit
是一款让你半结构化编辑lisp的插件,例如括号的自动补全,s-表达式的转移,提取等等,还是很方便的。
同样使用M-x package-install <ret> paredit-mode
进行安装即可。
具体的使用方法不是本篇文章的重点,可以参考以下几篇文章
Hello World
全部设置完毕后,我们新建一个文件(ctrl+x 回车 i 回车 输入文件名
),输入以下代码
#! /usr/bin/env racket
#lang racket
(displayln "Hello World!")
接着使用F5
执行 S-表达式,成功的打印的出Hello World
至此,安装Emacs
并设置racket
环境就完毕啦