Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在emacs中有没有连接clojure swank和slime的快速repl的快速方法?_Emacs_Clojure_Slime_Leiningen - Fatal编程技术网

在emacs中有没有连接clojure swank和slime的快速repl的快速方法?

在emacs中有没有连接clojure swank和slime的快速repl的快速方法?,emacs,clojure,slime,leiningen,Emacs,Clojure,Slime,Leiningen,我有一个问题: 当我将emacs与clojure和elein(leiningen扩展名)一起使用时,我将代码写入一个文件中,然后我需要连接到swang,我键入“elein swank”并打开conexion…第2步)我打开一个repl…第3步)我键入slime connect(并按y两次)4)这一步真的很烦人:我需要使用我的文件或更改名称空间 到目前为止还不错。问题是如果在我的文件中有一个小错误(可能是括号),现在我侮辱了我的代码,我已经重复了所有步骤…再次 对我来说,这真的很烦人,我真的很喜欢

我有一个问题:

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

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

对我来说,这真的很烦人,我真的很喜欢emacs,我已经使用它很长时间了,是最好的编辑器,但是将它与netbeans相比(我今天尝试了这个…它很好,但是它的repl很糟糕…),使用netbeans,我只需要点击一下就可以完成所有这些步骤

我可以按“加载文件”并在repl中加载我的文件…真的!! 如果我在NS中按referealias/file,它会打开repl并更改名称空间…太好了

现在..我的问题是,是否有可能在emacs中创建一个命令而不是制作所有东西..也许,这将是非常好的..一个命令,而不是打开一个repl并加载我的文件或我的ns…将是伟大的…有可能吗?…有人这样做吗???.谢谢


非常感谢祝你有一个愉快的一天

如果你打了一个错,为什么要重新加载所有内容?您只需运行一次
lein-swank
,然后使用
slime-connect
连接到swank即可。。。然后,您可以根据需要加载和评估代码。要(重新)加载文件,可以使用绑定到
C-C-l
slime-load file
命令

您还可以从fresh clojure模式查看命令中的
M-x clojure插孔


另外,我个人一整天(有时几天)都在运行swank会话,没有留下它、编写新代码、评估它等等。

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

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

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


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

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


使用swank clojure,您只需插入M-x clojure,它就会加载REPL。如果从project.clj文件中调用它,则会使项目的所有名称空间都可用。启动需要几秒钟的时间,但之后就很容易了,您无需重新加载。

非常感谢。您的回答正是我需要它……真的谢谢