4

我有一个问题:

当我将emacs与clojure和elein(leiningen扩展)一起使用时,我将代码写在一个文件中,然后我需要连接到swang,我输入“elein swank”并打开conexion ...2步)我打开一个repl ... 3)我输入 slime-connect (然后按两次 y) 4)这一步真的很烦人:我需要使用我的文件或更改命名空间......

到目前为止一切顺利..问题是如果我的文件中有一个小错误(可能是括号),现在我侮辱了我的代码,我已经重复了所有步骤......再次!

对我来说,这真的很烦人,我真的很喜欢 emacs,我已经使用了很长时间并且是最好的编辑器,但是将它与 netbeans 进行比较(我今天尝试这个..它很好,但它的 repl 很烂......)与 netbeans我只需单击一下即可完成所有这些步骤...

我可以按“加载文件”,然后将我的文件加载到 repl 中……说真的!如果我在 NS 中按引用别名/文件,它会打开 repl 并更改命名空间......太好了

现在..我的问题是是否有可能在 emacs 中创建一个命令而不是制作所有内容..也许它会非常好..一个命令而不是打开一个 repl 并加载我的文件或我的 ns...会很棒...这可能吗?...有人这样做吗??...谢谢

非常感谢,祝你有美好的一天!!

4

3 回答 3

5

elein-swank为您启动后应该会自动连接到 swank 后端。有一个最近修复的错误阻止了某些 swank-clojure 版本的这种情况,因此您可能希望将您的更新elein.el到最新版本。

您可以使用elein-reswank重新启动后端并在必要时重新连接到它。

一旦它运行,C-c C-k将在后端编译并加载一个 .clj 文件。C-c C-z会将您从任何 clojure 源缓冲区翻转到 REPL。

希望这些技巧将有助于简化您的 emacs/slime 体验——这确实是一个很好的工作环境,所以如果可以的话,坚持下去!:-)

于 2011-07-26T10:08:52.560 回答
2

如果您还没有,您可能想尝试一下 swank-clojure。

使用 swank-clojure,您只需 Mx clojure-jack-in 并加载 REPL。如果您从 project.clj 文件中调用它,它将使您的项目的所有命名空间都可用。启动需要几秒钟,但之后非常简单,您无需重新加载。

于 2012-07-08T16:36:20.710 回答
1

如果您犯了一个错字,为什么需要重新加载所有内容?您只需要运行lein swank一次并使用 ... 连接到 swankslime-connect然后您就可以根据需要加载和评估您的代码。要(重新)加载您的文件,您可以使用slime-load-file命令,该命令必须C-c C-l...

您还可以M-x clojure-jack-in从新的 clojure-mode 中查看命令...

PS我个人运行了一整天(有时几天)的swank会话,没有离开它,编写新代码,评估它等等。

于 2011-07-26T08:29:01.073 回答