2

我对clojure编程做了很多研究。我想要一个干净的设置,我可以轻松地查看和访问我的所有项目,在 REPL 中快速测试/修改它们,并在它们完成后打包它们,以便我可以从命令行调用它们。

通过多次推荐,我目前对 Eclipse、Leiningen、maven 和 SublimeREPL 中的 CCW 感到困惑。有经验的 Clojurians,尤其是 mac 用户,您使用的工具是什么?

我将特别感谢一个项目工作的分步说明,例如您如何设置窗口以及如何将文件快速加载到 REPL 中。

在相关的说明中,每当我在 Eclipse 中使用 REPL 时遇到错误,我都必须关闭它并每次重新启动它。如果我尝试继续,我得到的只是“未处理的 REPL 异常”。

4

2 回答 2

4

对于 Mac 上的 Clojure 开发,我使用 Sam Aaron 出色的“精心策划的 emacs 体验”,Emacs-live。这是一组对 emacs 的定制,主要是为了将 emacs 变成一个现场音乐表演工具(使用 Overtone,一个用于制作音乐的 Clojure 库)。然而,它的副作用是它看起来很漂亮,并带有一个整洁的 Clojure 配置。我将它用于我在 Mac 上的所有 Clojure 开发工作。

要启动并运行 Clojure emacs-live:

  1. 安装最新的 emacs您可以在http://emacsformacosx.com/获取 Mac 二进制文件
  2. 安装 emacs-live。最简单的方法是运行“brogrammer”安装脚本

    bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh)
    

    您还可以按照 github repo https://github.com/overtone/emacs-live中的说明进行手动安装

  3. 安装莱宁根。听起来你已经有了。如果没有,就做brew install leiningen(你有自制软件吗?如果没有,你可以按照 leiningen repo https://github.com/technomancy/leiningen的说明进行操作)。

现在为您的真正问题....

  1. 如何轻松查看和访问我的所有项目? Emacs 内置了书签功能——我只是为每个项目的根目录添加书签,这样我就可以快速跳转到它。要为文件或文件夹添加书签,请使用键盘命令C-x r m,并查看书签列表的使用C-x r l。您可以使用基于文本的目录浏览器(称为dired)浏览 emacs 中的目录,该浏览器可通过键盘命令 访问C-x d

  2. 如何在 REPL 中快速测试/修改我的项目? Emacs-live 包含了 nrepl.el。这意味着您可以从任何 clojure 源文件调用命令M-x nrepl-jack-in。这将为您提供一个 repl,您可以使用它来测试您的程序。.clj在 emacs 中加载的任何文件都会让您进入 clojure 模式。clojure-mode 中一些有用的命令是:

    • C-c M-n(从源文件)将 repl 的命名空间切换到当前源文件的命名空间
    • C-c C-k评估当前缓冲区(文件)
    • C-x C-e评估最后一个 s 表达式
    • M-.跳转到定义
    • M-,跳回来
  3. 如何设置我的窗户? 我通常有一个水平拆分 ( C-x 2),在下部窗口中有一个 repl,而我当前正在使用的源文件在顶部窗口中。C-x b我将使用(switch buffer)在顶部窗口中的开源文件之间切换。为我工作。

  4. 完成后如何打包?lein uberjar从命令行 ( ) 使用M-x eshell来打包项目及其依赖项。

注意:我在上面的 emacs 中使用标准简写来表达键盘快捷键。这有点过时,但在 Mac 上,作为标准,C映射到控制键,并M映射到 alt 键。

于 2013-08-09T20:34:47.750 回答
2

我的个人设置是:

  • Lein(通过 Homebrew 安装)
  • VIM(Vim-Clojure、Powerline、vim-fugitive 插件)

也就是说,简单易行!我在 Clojure 专业工作了一年。

但您可能还想看看:LightTableNightCode。两者看起来都是 Clojure 开发的有趣方法。

于 2013-08-09T20:59:53.170 回答