【问题标题】:A good Clojure set up on a Mac [closed]在 Mac 上设置好的 Clojure [关闭]
【发布时间】:2013-08-11 20:09:06
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: eclipse macos clojure workflow leiningen


    【解决方案1】:

    对于 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. 安装 leiningen。 听起来你已经有了。如果没有,就做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,您可以使用它来测试您的程序。在 emacs 中加载的任何 .clj 文件都会让您进入 clojure-mode。 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(切换缓冲区)在顶部窗口中的开源文件之间切换。为我工作。

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

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

    【讨论】:

    • 感谢您的回复,这正是我正在寻找的那种细节!
    【解决方案2】:

    我的个人设置是:

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

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

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

    【讨论】:

    • 同意 - LightTable 具有惊人的潜力。我特别期待测试版发布,它将向用户插件开放。
    猜你喜欢
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多