有没有办法运行shell命令,让输出显示在新缓冲区中并让输出逐步显示? Eshell和其他emacs终端模拟器可以找到它的工作,但我认为没有办法编写脚本。
我想做的是编写一些小的elisp函数来执行运行单元测试等操作,并将输出的涓流观察到缓冲区。
elisp函数shell命令接近我想要的但它在进程完成时立即显示所有输出。
答案 0 :(得分:4)
正如doublep所提到的,有 Mx compile ,而且还有简单的 Mx shell ,在那个shell中你运行任何你想要的东西。
答案 1 :(得分:1)
您还可以使用comint-run执行命令,而无需先启动子shell。我相信M-x shell
使用comint模式进行一些修改,所以这与它不会有很大不同。但是如果你想直接调用程序并将其输入和输出绑定到缓冲区,则comint-run是要调用的函数。使用起来有点棘手,请阅读文档:C-h f comint-run
。