2009-05-29 30 views
1

我最近在emacs shell模式中发现了'comint-show-output',它跳转到shell输出的第一行,当我看到超过shell输出的shell输出时,我发现它非常方便一个屏幕的长度。这个命令比使用'向上翻页'滚动的好处是:A)你不必用眼睛扫描输出的第一行B)你只需要敲击一次组合键(而不是'向上翻页'预先可能不知道的次数)。如何跳转到shell输出的第一行? (shell等价于emacs comint-show-output)

我想结束与我的所有命令|更多“,但实际上这并非我想要的,因为大多数时候,我想保留所有输出到终端缓冲区,而且我通常希望首先看到shell输出的结束。

我使用OSX。是否有一个终端应用程序(在OS X上)和shell(在远程Linux上)的组合等价物(所以我可以在不使用emacs的情况下做类似的事情 - 我知道,疯狂的谈话)?我通常使用bash,但只是为了这个功能而切换shell。

回答

0

你总是可以做在bash是这样的:

alias foo='!! | more' 

这将使foo的运行更前面的命令。我不确定任何方法可以完全按照您的建议进行。

0

如果你期待大量的输出,并且不希望两次运行命令,你可以使用tee(1)到餐桌的输出:

my-command | tee /tmp/my-command.log | less 

这将管道输出到一个分页程序(less ),同时将输出记录到文件(在这种情况下,文件名为/tmp/my-command.log)。如果在退出less之后需要查看输出,则可以仅使用日志文件cat而不是重新运行该命令。

1

我这样做的方式是将我的输出发送到文件,然后在写入文件时观察文件。您仍然可以实时获得转储到终端历史记录的命令的结果,并且可以在事实后(或在另一个终端等中进一步检查输出的实际内容)。

command > output & 
tail -f output 

head output