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

标签 emacs clojure slime aquamacs elpa

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

问题

  • 是否可以在 Aquamacs 上安装 Clojure?或者,您能猜出为什么 Aquamacs 上的 Clojure 不起作用吗?
  • Emacs 和 Aquamacs 不能共享同一个 ELPA 正常吗?
  • 是否可以使用 ELPA 在 Emacs/Aquamacs 上安装 Conjure?
  • 有人告诉我可以使用“lein swank”作为服务器运行,你知道怎么做吗?

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

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

    用于 Mac OS X 的 Emacs

    步骤 1) 安装 ESK
  • Git clone 并将所有文件复制到.emacs.d目录下
  • 将以下代码添加到 .emacs 并重新启动

  • (什么时候
    (加载
    (展开文件名“~/.emacs.d/package.el”))
    (包初始化))

    Step2) 使用 ELPA 安装
  • M-x package-list-packages 选择包
  • 安装
  • clojure 模式,clojure 测试模式
  • 粘液,粘液-repl
  • 时髦的 clojure
  • M-x slime 安装 clojure
  • 将以下代码添加到 .emacs 并重新启动

  • ;; Clojure 模式
    (添加到列表'加载路径“/Users/smcho/.emacs.d/elpa/clojure-mode-1.7.1”)
    (需要 'clojure-mode-autoloads)
    (添加到列表'加载路径“/Users/smcho/.emacs.d/elpa/clojure-test-mode-1.4”)
    (需要 'clojure-test-mode-autoloads)

    ;;粘液
    ;(setq 下级 lisp-program "/Users/smcho/bin/clojure")
    (添加到列表'加载路径“/Users/smcho/.emacs.d/elpa/slime-20100404”)
    (需要 'slime-autoloads)
    (添加到列表'加载路径“/Users/smcho/.emacs.d/elpa/slime-repl-20100404”)
    (需要 'slime-repl-autoloads)

    ;;时髦的clojure
    (添加到列表'加载路径“/Users/smcho/.emacs.d/elpa/swank-clojure-1.1.0”)
    (需要 'slime-repl-autoloads)

    水上飞机

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

    步骤 1) 安装 ESK for Aquamacs
  • 将文件复制到 ~/Library/Preference/Aquamacs Emacs
  • 修改“~/Library/Preferences/Aquamacs Emacs/Preferences.el”添加如下

  • (setq kitfiles-dir (concat (file-name-directory
    (或 (buffer-file-name) load-file-name)) "/aquamacs-emacs-starter-kit"))

    ;设置我们要加载的各种目录
    (添加到列表“加载路径工具包文件目录”)
    (需要'初始化)

    第2步)
    * 按照与之前相同的步骤安装所有(相同)软件包,但“M-x slime”给了我以下错误消息。 “Symbol 的函数定义是无效的:define-slime-contrib”

    埃尔帕

    我尝试组合来自 Emacs 和 Aquamacs 的包,但它们没有组合。我想我可以使用 ELPA 本身,而不是来自 ESK 来共享它。

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

    成功 - 使用“lein swank”运行 Aquamacs/Clojure。

    请引用 this

    最佳答案

    Aquamacs 绝对适用于 Clojure,因为 Clojure 的作者使用它。但是,我使用 Emacs,并且在您执行 Emacs 部分中的上述步骤后,我建议您查看 labrepl,

    http://github.com/relevance/labrepl

    如果您没有 leiningen,获取和安装它的链接位于 labrepl 自述文件的说明中。当我第一次学习如何为 Clojure 编程设置环境时,我发现它非常有帮助。您可以拆开project.clj labrepl 中的文件并拼凑它的工作原理。更不用说labrepl 附带的内置Web 应用程序中的类(class)和培训了。

    如果您想改用 lein swank:

    确保您已安装 leiningen。在您的 project.clj dev 依赖项中,您希望有这样的条目:

    [leiningen/lein-swank "1.1.0"]
    

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

    然后在你做完之后lein deps你应该可以运行 lein swank然后从 Emacs 中运行 M-x slime-connect只需按默认设置即可。

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

    关于在 Mac OS X 上运行 Clojure 的 Emacs (Cocoa Emacs) 与 Aquamacs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3261714/

    相关文章:

    emacs - `cider-jack-in' 以 'Protocol family unavailable' 中止

    lisp - 如何使用 SBCL 的 SB-SPROF 分配分析?

    emacs - 在 Slime 调试器中检查局部变量的值?

    emacs - 在 Emacs 中滚动而不移动点,即使在屏幕外

    带有 sml 模式的 emacs

    emacs - 在 elisp 的扩展文件名中使用通配符?

    windows - slime-fancy 未使用 emacs sbcl slime windows 配置加载

    emacs - 将现有的 YAsnippet 模式指向新的文件类型

    clojure - 在调用转换时,集合值会传递多少个归约函数?

    clojure.tools.logging EvalReader 使用?