Mac OS X 中 emacs 24.x+clojure+lein2.x+slime简单编程环境的搭建

时间:2022-10-22 22:48:58

1.安装emacs-24.x版本,http://emacsformacosx.com/

2.编辑 ~/.emacs.d文件夹下 init.el文件,安装插件,(我试验下来,最小化安装clojure-mode,nrepl即可实现编辑和简单)

配置:

(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)

软件仓库地址,我这里第一个一直连接不上,第二个效果还不错。

然后执行命令

M-x package-refresh-contents

安装clojure-mode。

M-x package-install [RET] clojure-mode [RET]  

安装nrepl

M-x package-install [RET] nrepl [RET]

安装slime-mode(最简单调试,这个也可以不装。)(这个应该和我用Emacs 24 有关,已经默认支持)

M-x package-install [RET] slime-mode [RET]

 

3.安装leinigen 2.x版本。

4.在自己的clojure workspace下,执行lein new testclj;

5.启动emacs,等待package install的结束;然后载入testclj下core.clj文件,编写自己的一个函数,M-x nrepl-jack-in (C-x M-j);将游标core.clj缓冲区的自定义函数的最后C-x C-e,将编写的函数发送给nrepl,然后就可以在nrepl中测试刚才编写的函数了

 

我的init.rl文件内容:

(require 'package)
(add-to-list 'package-archives
'(
"melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))

(when (not (package-installed-p 'nrepl))
(package-install 'nrepl))

 

参考网址:

https://github.com/technomancy/clojure-mode

https://github.com/technomancy/swank-clojure

https://github.com/kingtim/nrepl.el

https://github.com/technomancy/leiningen

有人喜欢装emacs-starter-kit,我不太习惯,就没有装,emacs先从简单的开始。

更完善的调试环境请参考  ritz(https://github.com/pallet/ritz)