Emacs和Long Shell命令

时间:2010-04-24 21:13:51

标签: shell emacs elisp

有没有办法运行shell命令,让输出显示在新缓冲区中并让输出逐步显示? Eshell和其他emacs终端模拟器可以找到它的工作,但我认为没有办法编写脚本。

我想做的是编写一些小的elisp函数来执行运行单元测试等操作,并将输出的涓流观察到缓冲区。

elisp函数shell命令接近我想要的但它在进程完成时立即显示所有输出。

2 个答案:

答案 0 :(得分:4)

正如doublep所提到的,有 Mx compile ,而且还有简单的 Mx shell ,在那个shell中你运行任何你想要的东西。

答案 1 :(得分:1)

您还可以使用comint-run执行命令,而无需先启动子shell。我相信M-x shell使用comint模式进行一些修改,所以这与它不会有很大不同。但是如果你想直接调用程序并将其输入和输出绑定到缓冲区,则comint-run是要调用的函数。使用起来有点棘手,请阅读文档:C-h f comint-run