如何在產生新輸入時在終結者終端視窗中向上滾動而不被扔回底部

如何在產生新輸入時在終結者終端視窗中向上滾動而不被扔回底部

在 Ubuntu 中,我想在終端機視窗中執行命令時向上滾動並產生新的輸出(正在運行的命令是rspec)。我可以向上滾動,但每次 rspec 產生新的控制台輸出行時,它都會讓我回到底部。有沒有辦法一直向上滾動?我在 Linux Mint/Ubuntu 12.04 LTS 上使用終結者。

我找到了一個可能的解決方法。 終結者首頁說與

stty ixon

您可以開啟“終端輸出的 XON/XOFF 流控制。能夠透過鍵入 ^S 暫停輸出並透過鍵入 ^Q [...] 恢復輸出”

但這並不完全是我想要的,而不必暫停輸出(也許想知道何時忘記再次打開它),我認為可能有一個簡單的修飾鍵,例如帶有滑鼠滾輪向上滾動的 shft-alt 。有更好的解決方案嗎?

答案1

雖然我有點晚了,但我還是把這個貼在這裡,以便任何來這裡的人都能得到解決方案。對我來說,同一問題的解決方案是:

終結者首選項 -> 設定檔標籤 -> 捲動 [子] 標籤 -> 取消勾選「捲動輸出」選項。

這個選項的好處是,當您位於輸出的最底部時,它仍然會在輸出上滾動,但是一旦向上滾動,它就會停止並且不會打擾您,即使輸出內容仍在進行中生成的。

我希望這有幫助

答案2

tail -f log.txt | less將更新以前進到新訊息,然後您可以向上或向下。您也可以使用less搜尋功能等。使用管道方法,您還可以解析移動輸出。

和同樣的想法,但沒有管道:less +F log.txt
(這假設您可以以這種方式處理您的內容。)

舊的 Unix 方式是在終端中按 Ctrl-S 來停止,然後按 Ctrl-Q 來重新啟動輸出滾動——這基本上就是終止符讓您使用stty ixon.
添加了滾動條後,這對我來說似乎相當不錯——按 Control-S,向上滾動到您喜歡的任何內容,然後按 Control-Q 返迴向下。是的,您偶爾會忘記取消暫停輸出。

因為我非常懶,而且因為我喜歡輸出重定向的靈活性,所以我將 tail -f 與管道一起使用(假設適合這種情況)。然後我可以停止它,向上箭頭並添加類似 grep 的東西,它仍然運行: tail -f tac_plus.log | less | egrep 'peerip'

丟一些cat東西tee進去,你就可以舉辦一場真正的派對了。

相關內容