我正在设置slime + lein-swank以在我保存文件时重新加载从repl引用的源文件。目前我这样做:
我不想记得做第4步。
答案 0 :(得分:16)
在切换到slime-compile-and-load-file
的REPL之前,您可以使用SLIME的 C-c C-k 。如果您还没有,它会提示您保存文件。完成后,您重新定义的内容应该在新版本的SLIME REPL中提供。然后你可以使用 C-c C-z 来调出REPL(当你不再需要它时,用 C-x 0 关闭它)。
答案 1 :(得分:13)
在.emacs中设置一个钩子:
(defun clojure-slime-maybe-compile-and-load-file ()
"Call function `slime-compile-and-load-file' if current buffer is connected to a swank server.
Meant to be used in `after-save-hook'."
(when (and (eq major-mode 'clojure-mode) (slime-connected-p))
(slime-compile-and-load-file)))
(add-hook 'after-save-hook 'clojure-slime-maybe-compile-and-load-file)
答案 2 :(得分:8)
与之前的答案一样,我使用相同的键击但将它们记录到宏中并将其绑定到键。这样,它只是保存,编译和切换到REPL的一个按键。最终看起来像这样:
(fset 'compile-and-goto-repl
"\C-x\C-s\C-c\C-k\C-c\C-z")
(global-set-key [f6] 'compile-and-goto-repl)