![](/img/trans.png)
[英]Which Emacs… for Mac OS X?… for Windows?… for Linux?
[英]Emacs (Cocoa Emacs) vs Aquamacs for running Clojure on Mac OS X
到目前为止我使用了Aquamacs ,我需要使用SLIME安装和运行Clojure 。 我用谷歌搜索了一些方法在Aquamacs的SLIME上使用Clojure,但没有成功。
我尝试使用Mac OS X Emacs ,并按照我可以使其工作的步骤。 我的意思是,我可以用SLIME运行Clojure。
步骤1)安装ESK 。
.emacs.d
目录中 .emacs
并重新启动 (when (load (expand-file-name "~/.emacs.d/package.el")) (package-initialize))
步骤2)使用ELPA安装
.emacs
并重新启动 ;; clojure mode (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1") (require 'clojure-mode-autoloads) (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4") (require 'clojure-test-mode-autoloads) ;; slime ;(setq inferior-lisp-program "/Users/smcho/bin/clojure") (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-20100404") (require 'slime-autoloads) (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/slime-repl-20100404") (require 'slime-repl-autoloads) ;; swank-clojure (add-to-list 'load-path "/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0") (require 'slime-repl-autoloads)
现在我可以在Emacs上使用Clojure,我尝试了相同(或非常相似)的方法再次在Aquamacs上运行Clojure。
(setq kitfiles-dir (concat (file-name-directory (or (buffer-file-name) load-file-name)) "/aquamacs-emacs-starter-kit")) ; set up our various directories to load (add-to-list 'load-path kitfiles-dir) (require 'init)
步骤2)*按照以前的步骤安装所有(相同)软件包,但“Mx slime”给我以下错误消息。 “符号的函数定义是无效的:define-slime-contrib”
我试图将Emacs和Aquamacs的软件包结合起来,但它们并没有结合起来。 我以为我可以使用ELPA本身,而不是ESK来共享它。
结果并不好,因为ELPA无法下载swank-conjure包。
请参考这个 。
由于Clojure的作者使用它,因此Aquamacs绝对适用于Clojure。 但是,我使用Emacs,在Emacs部分执行上述步骤后,我建议查看labrepl,
http://github.com/relevance/labrepl
如果您没有leiningen,则获取并安装它的链接位于labrepl自述文件的说明中。 在第一次学习如何为Clojure编程设置环境时,我发现它非常有用。 您可以拆开labrepl中的project.clj
文件,并将它的工作方式非常简单地拼凑起来。 更不用说labrepl附带的内置Web应用程序中的课程和培训。
如果你想使用lein swank代替:
确保安装了leiningen。 在您的project.clj dev依赖项中,您希望拥有如下条目:
[leiningen/lein-swank "1.1.0"]
http://clojars.org/leiningen/lein-swank
然后在你完成lein deps
你应该能够运行lein swank
,然后从Emacs中运行Mx slime-connect
,只需按下默认输入即可。
如果你打算走这条路,这里是直接连接到leiningen的链接,所以你可以跳过labrepl存储库: http ://github.com/technomancy/leiningen
Paul Barry讲授如何使用Aquamacs和Clojure。
这很简单,因为您可以将此代码添加到.emacs
文件中,
(add-to-list 'load-path "~/clojure/clojure-mode") (setq inferior-lisp-program "/Users/smcho/bin/clj") (require 'clojure-mode) (setq auto-mode-alist (cons '("\\.clj\\'" . clojure-mode) auto-mode-alist)) (add-hook 'clojure-mode-hook (lambda () (define-key clojure-mode-map "\C-c\C-e" 'lisp-eval-last-sexp)))
我可以运行'Mx clojure-mode',以及Cc Cz for REPL。
正如在Emacs上同时在Running Clojure和其他Lisp中提问和回答的那样,我可以在Aquamacs上同时使用Clojure / Lisp。
我发现这是最新版本的最简单的设置。 这是一个快速摘要,我假设你已经安装了leiningen。
安装swank-clojure插件
$ lein plugin install swank-clojure 1.3.2
创建你的clojure项目
$ lein new test-project
$ cd test-project
$ lein deps
然后在emacs中打开项目中的一个clojure文件并运行clojure-jack-in
M-x clojure-jack-in
您现在处于一个slime缓冲区,其中包含clojure并且已加载项目的依赖项。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.