暂停shell输出

时间:2011-11-25 06:53:42

标签: emacs

在Windows shell中,只需在shell窗口中选择文本即可暂停输出(必须启用QuickEdit模式)。在cygwin shell中也是如此(再次使用QuickEdit模式)。

如何在emacs shell中暂停输出?

我需要暂停它,因为有些任务非常冗长,很难在​​大缓冲区中搜索必要的文本。

当我执行M-x comint-stop-subjob时,我收到一条消息“没有SIGTSTP支持”

举个例子,尝试暂停以下内容:

find . -type f -name "*.txt" -exec  cat {} ';'

3 个答案:

答案 0 :(得分:3)

不完全符合您的要求,但clone-buffer会让您接近您想要的。将它绑定到方便的密钥并运行find命令后,调用clone-buffer会将缓冲区的内容复制到新的缓冲区。原始缓冲区中的find命令保持运行,但克隆缓冲区仅包含find的输出,直到克隆它为止。

您可以在原始窗口中多次调用此命令,为您提供一系列要检查的停止点。我不知道如何实际暂停原始窗口。

请注意,新克隆的缓冲区是功能齐全的shell缓冲区。

答案 1 :(得分:2)

您可以按 C-c C-z 来停止作业。然后输入fg以使其再次有效。

答案 2 :(得分:0)

我不知道暂停输出,但你可能只是缩小缓冲区?

  • C-x n n 缩小到区域
  • C-x n n 缩小到页面
  • C-x n w 加宽到完整缓冲区