22

实际上,我对使用 vim + lein repl 非常满意,但是由于很多人一直说 Emacs 是 Lisps 的最佳选择,所以我决定试一试。现在的问题是建立一个 clojure 环境来完成人们一直在谈论的所有花哨的事情 - 现在我设法安装了 clojure-mode 和 nREPL 并且运行良好,但我需要让 repl 与我的 Leiningen 一起工作项目,如果这个实验要去某个地方(如果这意味着我必须再次自己管理我所有的依赖项(尤其是与类路径相关的依赖项),那么在编辑器中拥有一个 repl 将毫无意义)。这里的问题点是我在网上看到的大部分文章都是

  • A)关于 swank-clojure,已弃用
  • B) 关于已弃用的 Leiningen 1.x
  • C) 两者
  • D) 只涉及安装,而不是如何实际使用你刚刚安装的东西(甚至它们做了什么)

现在我正在寻找的是:

  • 让 nrepl.el 尊重我的 project.clj
  • 找出 leiningen + emacs + clojure-mode + nrepl.el 的正常工作流程是什么
  • 与这个问题无关,但我很想知道为什么 emacs 有时会在没有我要求的情况下覆盖文本(将字体颜色更改为背景颜色直到被光标击中)。
4

1 回答 1

22

假设您同时安装了 lein2 和nrepl.el

选项 A:

您只需在 Emacs 中打开一个属于您的 lein 项目的文件(如foo.clj),然后键入M-x nrepl-jack-in. 这将启动一个加载了所有 deps 的 nREPL,您可以或多或少地以与swank-clojure. (这是我大部分时间都在做的事情)

选项 B:

您在终端中转到项目的目录并在那里输入:

lein repl

之后键入M-x nrepl将允许您连接到正在运行的 nrepl 会话。

nrepl.el带有一个方便的次要模式,允许您评估 Clojure 源文件中的代码并将其直接加载到 repl 中(与 swank-clojure 相同)。nREPL菜单部分中所有可用命令的列表。

附言

nrepl.el被重命名为CIDER.

于 2012-10-11T11:28:49.997 回答