【发布时间】:2018-05-02 18:35:50
【问题描述】:
每次我开始工作时,我启动 Emacs,M-x cd 到工作目录,M-x slime 启动 Slime,然后在 slime repl 中运行 (ql:quickload 'myproject),(或者,加载系统 myproject)后跟,+p myproject 切换repl中的当前包。 最后,我在 repl 中运行 call a (start-server) 来启动我的 Web 服务器。
我希望这一切都只是一个 Emacs 按键或命令。我不得不问这个很尴尬,因为它都是 lisp,但我无法完全弄清楚 Emacs 和 Slime 之间的相互作用。然而,作为一名程序员,我觉得我应该将所有繁琐的流程自动化——而且我预见到还会增加几个步骤。
我想棘手的部分是发送 slime 命令,然后在发送下一个命令之前等待 quicklisp 完成。
任何指针将不胜感激!
编辑:感谢 Svante 的 C-c ~ 提示,这对我来说是个新闻
【问题讨论】:
-
我不使用
ql:quickload来加载我的项目,而是使用,open-system(我认为来自slime-asdf)。使用 helm 或类似的 typeahead 对此很有用。然后C-c ~从项目文件缓冲区切换工作目录和包。例如,您也可以将粘液放在 F 键上。我目前决定不为单个项目编写整个序列(我通常在做多个),因为它对我来说已经足够快了。
标签: emacs common-lisp slime