Emacs Shell控制的命令输出显示

时间:2019-05-31 15:19:43

标签: shell emacs xterm

我刚刚将操作系统从Ubuntu 16.04升级到了18.04,由于某种原因emacs消失了。

在重新安装时,我注意到运行M-x shell然后hg diff会产生一条错误消息:

WARNING: terminal is not fully functional
-  (press RETURN)

我想我可以通过运行以下方法解决此问题:

export TERM=xterm

此后,我获得了非常丰富的shell经验,并且没有警告运行hg diff

但是,它现在仅显示hg diff输出的一页,然后一次暂停:,以前它不停地打印了很多。

我认为这是可以接受的,如果我能弄清楚什么键允许我打印hg diff输出的下一页,并且理想情况下,什么键可以允许打印剩余的 all { {1}}输出并返回到shell提示符。

如果我按下回车键,则一次获得一条额外的线,但这有点慢,也不是很理想。

我认为这可能是有关xterm快捷键的问题?可能不是特定于emacs,但我不确定。.

1 个答案:

答案 0 :(得分:0)

shell-mode是行缓冲的,这意味着在您输入RET之前,输入不会发送到基础进程。在这种情况下,输出应通过less之类的程序运行,其中RET将为您提供另一页而不是一行。

因此,在shell-mode中,您可以使用SPC后跟RET。在term-mode中,默认值不是行缓冲的(以尽可能透明地类似于底层shell),一个RET应该足以为您提供一个新页面。

相关问题