Emacs和Slime启动脚本

时间:2018-05-02 18:35:51

标签: emacs lisp elisp slime

每次我开始工作时,我都会启动Emacs,Mx cd到一个工作目录,Mx slime启动Slime,然后在slime repl中运行(ql:quickload'myproject),(或者,加载系统myproject)然后,+ p myproject切换repl中的当前包。 最后,我在repl中调用一个(start-server)来启动我的Web服务器。

我希望这一切只是一个Emacs击键或命令。令人尴尬的是,我不得不问这个,因为它都是口齿不清,但我无法弄清楚Emacs和Slime之间的相互作用。然而作为一名程序员,我觉得我应该自动完成所有繁琐的过程 - 我预见到会有更多的步骤被添加到其中。

我想棘手的部分是发送slime命令,然后在发送下一个命令之前等待quicklisp完成。

任何指针都将不胜感激!

编辑:感谢Svante的C-c~hint,这对我来说是新闻

1 个答案:

答案 0 :(得分:2)

在Emacs方面,您可以将一个键绑定到一个命令,而不是使用其他参数调用slime

(defun my-lisp ()
  (interactive)
  (slime (concat "sbcl --load " <path-to-your-lisp-script>)))

在你的Lisp脚本中,例如:

(ql:quickload :my-system)
(in-package :my-package)
(start-server)