博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mac 上为mit-scheme配置emacs环境
阅读量:3784 次
发布时间:2019-05-22

本文共 1456 字,大约阅读时间需要 4 分钟。

前两天写了在Mac上安装mit-scheme的文章,讲了在Mac上安装mit-scheme的过程。安装了mit-scheme以后,可以通过命令行直接执行mit-scheme命令进入mit-scheme的REPL环境。除了可以在REPL环境中直接编写mit-scheme代码以外,也可以通过一般的编辑器编写好mit-scheme代码,然后在REPL环境中通过(load "<file name>")命令加载进来测试。

无论怎么样,以上的方法都是比较麻烦,特别是以前使用过Emacs的slime环境,所以想为mit-scheme配置Emacs环境。

做完以后发现过程也挺简单的,记录如下:

1. 首先当然是安装Emacs。

安装Emacs时最直接的就是去下面的网站下载:

http://emacsformacosx.com

下载后安装很简单,将Emacs拖进Application图标就好了。

不过感觉在Mac上使用Emacs有一点别扭,后来就找了Aquamacs,据说是Mac上最好的Emacs,下载链接如下:

http://aquamacs.org

Aquamacs是专门为Mac改写过的Emacs,使用后真心感觉不错,推荐大家使用。特别是在编辑界面可以直接按“Command + ”和“Command -”进行放大和缩小,对于在Mac上饱受小字体困扰的用户真是一个福音。同时,不同编辑状态的字体都可以通过options选项进行配置,非常方便。

2. 然后就是配置Emacs使用我们的mit-scheme

配置方法比较简单,就是修改~/.emacs文件,加入下面的配置信息即可:

(setq scheme-program-name "/usr/local/bin/mit-scheme")

以上配置信息中的"/usr/local/bin/mit-scheme"是你的mit-scheme路径,如果你不知道你的mit-scheme安装到哪里去了,在命令行中使用which mit-scheme命令可以看到。

如果你选择使用Aquamacs,它有个配置文件叫customizations.el,将以上配置信息加到customizations.el文件中也可以,customizations.el文件在下面这个目录里:

/Library/Preferences/Aquamacs Emacs

3. 进入mit-scheme环境。

配置好mit-scheme以后,重新启动Emacs,然后M+x,接着输入“run-scheme”命令进入mit-scheme的REPL环境。

接着,创建一个以scm为后缀的文件,输入一些测试的mit-scheme代码,在这里可以将光标放置到某一个语句结束的地方,使用Ctrl+x Ctrl+e的方式执行,执行结果会直接出现在mit-scheme的REPL中。

当然,你也可以通过(load "<file name>")命令在REPL环境中加载你的scm文件,然后手工执行。

最后唯一觉得不方便的是Mac上Ctrl+up和Ctrl+down两个快捷键绑定到任务控制中了,在mit-scheme的REPL环境中无法通过Ctrl+up调取命令历史。

后来我就在系统设置里将Ctrl+up和Ctrl+down两个快捷键释放掉了,在mit-scheme的REPL中就可以直接通过快捷键获取历史命令了。

最后上图,该图是Aquamacs的截图,细心的读者可以从截图中看到我正在做SICP的那条练习题。

你可能感兴趣的文章
剑指offer之斐波那契问题(C++/Java双重实现)
查看>>
Linux网络命令
查看>>
一天教会三岁表弟HTML,你值得拥有
查看>>
CSS基础汇总
查看>>
SpringCloud服务注册与发现
查看>>
SpringCloud Stream 消息驱动
查看>>
SpringCloud Sleuth 分布式请求链路
查看>>
SpringCloud Alibaba Nacos 服务注册和配置中心
查看>>
poi读写Excel
查看>>
使用Security安全框架实现权限登录
查看>>
JDBC工具类 使用Durid连接池链接MySQL数据库
查看>>
ANSYS——模态提取方法简介
查看>>
ANSYS——初学路径之路径的定义、作用以及ansys路径模块GUI的操作解释
查看>>
ANSYS——网格划分的不同方法以及GUI模块的操作(自由网格、映射网格、扫掠、拖拉)
查看>>
ANSYS——命令流学习(材料属性设置、建模的命令流)
查看>>
ANSYS——杆单元简介与示例(含新版本2019版本杆实常数设置、ANSYS help的使用、单元列表使用的举例)
查看>>
ANSYS——后处理中单元表(ELEMENT table)的作用、创建、使用
查看>>
在VScode上配置golang的开发环境
查看>>
leetcode每日一题---680. 验证回文字符串 Ⅱ
查看>>
leetcode每日一题---15. 三数之和
查看>>