一个很好的Clojure在Mac上设置

时间:2013-08-09 19:37:39

标签: eclipse macos clojure workflow leiningen

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

通过多项建议,我目前在Eclipse,Leiningen,maven和SublimeREPL中遇到了令人困惑的CCW。经验丰富的Clojurians,尤其是mac用户,您使用的工具是什么?

我特别欣赏一个关于项目工作的分步说明,例如如何设置Windows以及如何快速将文件加载到REPL中。

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

2 个答案:

答案 0 :(得分:4)

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

启动并运行Clojure emacs-live:

  1. 安装最新的emacs 。您可以在http://emacsformacosx.com/
  2. 获取Mac二进制文件
  3. 安装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

  4. 上的说明进行手动安装
  5. 安装leiningen。听起来已经有了。如果没有,只需brew install leiningen(你有自制吧?如果没有,你可以按照leiningen repo https://github.com/technomancy/leiningen的说明进行操作)。

  6. 现在提出你真正的问题......

    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。在emacs中加载的任何.clj文件都会使您进入clojure模式。 clojure模式中的一些有用命令是:

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

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

    5. 注意: 我在上面的emacs中使用标准速记来表达键盘快捷键。它有点陈旧,但在Mac上,作为标准,C映射到控制键,M映射到alt键。

答案 1 :(得分:2)

我的个人设置是:

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

即便,简单!我在Clojure专业工作了一年。

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