【问题标题】:Emacs and Long Shell CommandsEmacs 和长 Shell 命令
【发布时间】:2010-04-24 21:13:50
【问题描述】:

有没有办法运行一个 shell 命令,让输出显示在一个新的缓冲区中,并让该输出逐步显示? Eshell 和其他 emacs 终端仿真器对此进行了查找,但我认为无法编写脚本。

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

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

【问题讨论】:

  • 不是你所需要的,但M-x compile 会逐步显示编译进度。

标签: shell emacs elisp


【解决方案1】:

正如doublep 提到的,有M-x compile,还有简单的M-x shell,在那个shell 中你可以运行任何你想要的。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-05-16
      • 2011-05-22
      • 1970-01-01
      • 1970-01-01
      • 2011-12-05
      • 2021-04-27
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多