每次我开始工作时,我都会启动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,这对我来说是新闻
答案 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)