注意
最新安装方法在 emacs-for-clojure 里更新,本文不再维护。
有问题可以加QQ群119845407
交流。
在配置emacs-clojure之前,先检查一下lein repl
是否运行正常
如果在你的windows cmd或者ubuntu的terminal显示正常,okay,其实你现在就可以学习clojure。
而为了编写编译环境更加友好、方便,咱们再来搭建一个emacs IDE平台的clojure编程环境。
首先,看一下windows和ubuntu的最终结果
在正确搭好系统之前使用了两个emacs配置库,但均失败,
- https://github.com/purcell/em... :比较全,界面也好看,调用cider-jack-in失败
- https://github.com/jiacai2050... :也不错,Macbook运行正常,我在window和ubuntu测试失败
于是,经From SICP To Lisp的群友帮忙,使用https://www.braveclojure.com/... 对应的windows配置说明,发现有效,也可以参考对应的github链接https://github.com/flyingmach...。下面罗列简要的windows和ubuntu配置说明
Windows Emacs-Clojure简要配置说明
Note:windows默认的.emacs.d的用户目录是
C:\Users\YeZhao\AppData\Roaming\.emacs.d
记得把我的用户名YeZhao替换成你自己。
安装步骤(如果你是emacs小白,相信你之前也没有.emacs之类的配置信息,所以就不用提醒删除了),
git clone https://github.com/flyingmachine/emacs-for-clojure --depth 1
- 把emacs-for-clojure内的配置文件放在
.emcas.d(C:\\Users\\...\\AppData\\Roaming\\.emacs.d)
中 - 打开你的emacs即可,事先使用
lein new first-clojure
创建一个项目,使用ctrl-x ctrl-f (该快捷键意思是先敲击ctrl-x 然后再敲击ctrl-f)打开项目里面的core.clj - 使用emacs的cider-jack-in调用lein repl。 敲入快捷键 M-x cider-jack-in (注意M就是Alt键),等待一些时间,进会进入经典的repl界面
- 编译clojure源文件。调用cider之后,就可以使用快捷键ctrl-c ctrl-k来编译源文件,并把namespace导入进到repl,当然得手动使用Ctrl-c Esc n “你的代码的命令空间”,然后即可运行
- happy coding, that's enough
额外说明,flyingmachine里头的elpa文件便旧,都是2014年的,可以更新一下
M-x packages-list-package 然后在软件列表中敲击U(大写的u,表示Update),然后x(小写的x表示执行),自动帮你更新和删除,如果没有删彻底也可以使用M-x packages-autoremove
小结
- ctrl-x ctrl-f 打开文件
- M-x cider-jack-in 打开cider调用lein repl
- ctrl-c ctrl-k 在cider接口编译clojure源文件(ctrl-c ctrl-e可以对新增部分进行编译)
- Ctrl-c Esc n 切换命名空间
- M-x packages-list-package ,然后U,最后x, 更新emacs插件包
Ubuntu Emacs-clojure简要配置说明
首先,java安装(apt-get install default-jdk(我选择open-jdk,也可以安装oraclejdk),然后是leiningen安装,下载官网脚本https://raw.githubusercontent... ,把他放在/usr/bin目录下,然后执行chmod +x /usr/bin/lein; ./lein
,等待安装(这步可能很久,也可能一会儿,主要是国内网络环境原因),同样的最后也测试一下,lein repl
是否正常运行
安装步骤
git clone https://github.com/flyingmachine/emacs-for-clojure --depth 1
- 把emacs-for-clojure内的配置文件放在.emcas.d(默认的~目录即可)中
其他步骤和windows一模一样。
最后,emacs软件源,我选择的是gnu,org,melpa(https://stackoverflow.com/que...),放弃使用elpa和Marmalade等。
为了访问速度,建议在init.el
添加如下国内源:
(setq package-archives '(("gnu" . "http://elpa.emacs-china.org/gnu/")
("melpa-stable" . "http://elpa.emacs-china.org/melpa-stable/")
("melpa" . "http://elpa.emacs-china.org/melpa/")
("marmalada" . "http://elpa.emacs-china.org/marmalade/")))
Emacs-clojure简单配置环境已经搭起来,有什么使用问题,可以在From SICP To Lisp(群号:119845407)交流。