最近在阅读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环境就完毕啦

参考资料

安装Emacs并设置racket环境的更多相关文章

  1. Ubuntu上源码安装golang并设置开发环境

    安装go #wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz #tar -xzf go1.10.3.linux-amd64.tar.g ...

  2. Linux 安装软件之后设置PATH环境变量

    每一个软件都有安装路径这一项,指定安装路径的目的,一方面是便于文件搜索与查找,另一方面更方便的使用软件. 比如,几乎大多数自己安装的软件,都会选择安装在/usr/local目录下,比如apache.m ...

  3. 02_Weblogic课程之安装篇:RedHat下JDK安装,RedHat下Weblogic安装,目录结构,环境变量设置

     1  Weblogic的安装方式有三种: 一.GUI方式安装    (java –jar wls1035_generic.jar [-mode=gui])这是默认的 二.Console方式安装  ...

  4. windows系统dokuwiki安装部署设置 xampp环境配置

    简单记录一次安装dokuwiki的过程 dokuwiki下载 dokuwiki下载地址 https://download.dokuwiki.org/ 下载前有一些可选项目,版本.语言.插件,可以按照需 ...

  5. InstallShield安装jdk并设置环境变量

    1. 检查是否安装jdk function OnBegin() begin Disable (BACKBUTTON); if(!MAINTENANCE)then SdLicense2 ("L ...

  6. ubuntu环境下nginx的编译安装以及相关设置

    一.基本的编译与安装 1.安装依赖项 sudo apt-get update sudo apt-get install build-essential zlib1g-dev libpcre3 libp ...

  7. 利用脚本,一键设置java环境变量(默认安装路径)

    Windows一键设置Java环境变量 右击以管理员方式运行,注意自行更改JAVA_HOME目录文件安装目录. JDKSetting.bat @echo off color 0a echo.----- ...

  8. 安装完Python之后,如何设置Python环境变量

    人生苦短,我用Python.最近有许多加群的萌新在咨询Python安装的事宜,Python安装问题不大,可以戳这篇文章:.本以为安装Python之后就可以万事大吉,高枕无忧了,往命令行中输入pytho ...

  9. 微信小程序开发环境安装以及相关设置配置

    微信小程序开发环境安装以及相关设置配置 一.安装 软件名称:wechat_devtools_1.02.1907232_x64 软件安装地址:https://developers.weixin.qq.c ...

随机推荐

  1. (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 通用的星星类已经完成了,下面我们来实现具体的变长和缩短道具. 变 ...

  2. Ubuntu15.10下如何使用EasyGui模块开发Python GUI

    偶然的一个机会,发现了github上的这个开源的项目,easygui for python(一个基于TKinter的模块) 感觉很是惊讶,原来python也可以这么简单的开发出一些GUI界面(究其原因 ...

  3. Linux下多线程编程遇到的一些问题

    今天在学习了Linux的多线程编程的基础的知识点.于是就试着做了一个简单的Demo.本以为会得到预期的结果.不成想却遇到了意想不到的问题. 代码展示 我的C 代码很简单,就是一个简单的示例程序,如下: ...

  4. UE4利用Save Game创建全局变量

    因为盲目的做了一个UE4的项目,没有用到UE4的无缝加载,我只能在一个个关卡中手动切换,然后每次的数据都会重置,这对于项目来说,造成了体验感的极度下降. 然而我查了一下怎样在UE4中创建全局变量,找到 ...

  5. 最简单的基于FFmpeg的内存读写的例子:内存播放器

    ===================================================== 最简单的基于FFmpeg的内存读写的例子系列文章列表: 最简单的基于FFmpeg的内存读写的 ...

  6. ROS_Kinetic_15 ROS使用Qt

    ROS_Kinetic_15 ROS使用Qt 在网页http://www.qt.io/download-open-source/#section-2 下载并安装Qt ~/下载$ chmod +x qt ...

  7. pig函数以及关键字 的一些实例应用的总结(来自pig笔记)

    http://wenku.baidu.com/link?url=yb7KnpSj9nHxWk_MsEVUezvB24evRf9wR87FX0dTT77pGXNXi6k3o_kTmAkBrpIHTqo6 ...

  8. 【Unity Shaders】Reflecting Your World —— Unity3D中的遮罩反射(Masking Reflections)

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  9. 海量数据挖掘MMDS week6: 决策树Decision Trees

    http://blog.csdn.net/pipisorry/article/details/49445465 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  10. noSQL数据库相关软件介绍(大数据存储时候,必须使用)

    目前图数据库软件七种较为流行:Neo4J, Infinite Graph, DEX,InfoGrid, HyperGraphDB, Trinity, AllegroGraph(http://tech. ...