2009-05-29 65 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