Emacs(Cocoa Emacs)与Aquamacs在Mac OS X上运行Clojure

pro*_*eek 12 emacs aquamacs clojure slime elpa

到目前为止我使用了Aquamacs,我需要使用SLIME安装和运行Clojure.我用谷歌搜索了一些方法在Aquamacs的SLIME上使用Clojure,但没有成功.

问题

  1. 可以在Aquamacs上安装Clojure吗?或者,你能猜出为什么Aquamacs上的Clojure不起作用吗?
  2. Emacs和Aquamacs不能共享同一个ELPA是正常的吗?
  3. 是否可以使用ELPA在Emacs/Aquamacs上安装Conjure?
  4. 我被告知可以使用'lein swank'作为服务器运行,你知道怎么做吗?

我试过的序列(一半成功)

我尝试使用Mac OS X Emacs,并按照我可以使其工作的步骤.我的意思是,我可以用SLIME运行Clojure.

适用于Mac OS X的Emacs

步骤1)安装ESK.

  • Git克隆并将所有文件复制到.emacs.d目录中
  • 添加以下代码.emacs并重新启动
    (when
        (load
         (expand-file-name "~/.emacs.d/package.el"))
      (package-initialize))

步骤2)使用ELPA安装

  • Mx package-list-packages用于选择包
  • 安装
    • clojure-mode,clojure-test-mode
    • 史莱姆,史莱姆
    • 自吹,Clojure的
  • Mx粘液安装clojure
  • 添加以下代码.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)

Aquamacs

现在我可以在Emacs上使用Clojure,我尝试了相同(或非常相似)的方法再次在Aquamacs上运行Clojure.

步骤1)为Aquamacs安装ESK

  • 将文件复制到〜/ Library/Preference/Aquamacs Emacs
  • 修改"〜/ Library/Preferences/Aquamacs Emacs/Preferences.el"以添加以下内容
(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"

ELPA

我试图将Emacs和Aquamacs的软件包结合起来,但它们并没有结合起来.我以为我可以使用ELPA本身,而不是ESK来共享它.

结果并不好,因为ELPA无法下载swank-conjure包.

成功 - 用'lein swank'运行Aquamacs/Clojure.

请参考这个.

Bra*_*nry 5

由于Clojure的作者使用它,因此Aquamacs绝对适用于Clojure.但是,我使用Emacs,在Emacs部分执行上述步骤后,我建议查看labrepl,

http://github.com/relevance/labrepl

如果您没有leiningen,则获取并安装它的链接位于labrepl自述文件的说明中.在第一次学习如何为Clojure编程设置环境时,我发现它非常有用.您可以project.clj在labrepl中拆分文件,并将其工作原理非常简单地拼凑起来.更不用说labrepl附带的内置Web应用程序中的课程和培训.

如果你想使用lein swank代替:

确保安装了leiningen.在您的project.clj dev依赖项中,您希望拥有如下条目:

[leiningen/lein-swank "1.1.0"]
Run Code Online (Sandbox Code Playgroud)

http://clojars.org/leiningen/lein-swank

完成后,lein deps你应该可以运行lein swank,然后从Emacs运行M-x slime-connect,只需按下默认输入.

如果你打算走这条路,这里是直接连接到leiningen的链接,所以你可以跳过labrepl存储库:http://github.com/technomancy/leiningen