我对 clojure 编程做了很多研究。我希望有一个干净的设置,我可以轻松地查看和访问我的所有项目,在 REPL 中快速测试/修改它们,并在完成后将它们打包,以便我可以从命令行调用它们。
通过多方推荐,我目前对 Eclipse、Leiningen、maven 和 SublimeREPL 中的 CCW 感到困惑。经验丰富的 Clojurians,尤其是 mac 用户,您使用哪些工具?
我特别感谢您对项目工作的分步说明,例如如何设置窗口以及如何将文件快速加载到 REPL 中。
与此相关的是,每当我在 Eclipse 中使用 REPL 时遇到错误时,我每次都必须关闭它并重新启动它。如果我尝试继续,我得到的只是“未处理的 REPL 异常”。
最佳答案
对于 Mac 上的 Clojure 开发,我使用 Sam Aaron 出色的“策划的 emacs 体验”Emacs-live。它是一组对 emacs 的定制,主要是为了将 emacs 变成一个现场音乐表演工具(与 Overtone,一个用于制作音乐的 Clojure 库)。然而,这样做的副作用是它看起来很漂亮,并且带有整洁的 Clojure 配置。我在 Mac 上使用它来完成所有 Clojure 开发工作。
启动并运行 Clojure emacs-live:
- 安装最新的 emacs。您可以通过 http://emacsformacosx.com/ 获取 Mac 二进制文件
安装 emacs-live。最简单的方法是运行“brogrammer”安装脚本
bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh)
您还可以按照 github 存储库 https://github.com/overtone/emacs-live 中的说明进行手动安装
安装 leiningen。 听起来您已经安装了。如果没有,只需执行
brew install leiningen
(你有自制软件吗?如果没有,你可以按照 leiningen 存储库 https://github.com/technomancy/leiningen 中的说明进行操作)。
现在回答你真正的问题......
如何轻松查看和访问我的所有项目? Emacs 内置了书签 - 我只是为每个项目的根目录添加了书签,这样我就可以快速跳转到它。 要为文件或文件夹添加书签,请使用键盘命令
C-x r m
,要查看书签列表,请使用C-x r l
。您可以使用基于文本的目录浏览器(称为dired
)浏览 emacs 中的目录,可以通过键盘命令C-x d
访问该浏览器。如何在 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 表达式M-.
跳转到定义M-,
跳回
如何设置我的窗口? 我通常有一个水平分割(
C-x 2
),在下部窗口中有一个 repl,而我当前正在使用的源文件在顶部窗口中。我将使用C-x b
(切换缓冲区)在顶部窗口中的开源文件之间切换。对我有用。完成后如何打包? 从命令行 (
M-x eshell
) 使用lein uberjar
打包项目及其依赖项。
注意:
我在上面的 emacs 中使用了标准简写来表达键盘快捷键。这有点过时,但在 Mac 上,作为标准,C
映射到控制键,M
映射到 alt 键。
关于eclipse - 在 Mac 上设置良好的 Clojure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18154380/