如何让Emacs,nrepl.el和Leiningen一起玩?

时间:2012-10-11 11:22:56

标签: emacs clojure leiningen

我真的很高兴使用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有时会覆盖文本(在没有我要求的情况下将字体颜色更改为背景颜色直到光标命中)。

1 个答案:

答案 0 :(得分: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菜单部分中提供的所有可用命令的列表。

P.S。

nrepl.el已重命名为CIDER