
Ubuntu では、ターミナル ウィンドウでコマンドが実行され、新しい出力が生成されているときに (実行中のコマンドはrspec
)、上にスクロールしたいと考えています。上にスクロールすることはできますが、rspec がコンソール出力の新しい行を生成するたびに、一番下に戻されてしまいます。一番上までスクロールする方法はありますか? Linux Mint/Ubuntu 12.04 LTS で terminator を使用しています。
回避策を見つけました。 ターミネーターホームページと言う
stty ixon
「端末出力の XON/XOFF フロー制御をオンにできます。^S と入力して出力を一時停止し、^Q と入力して再開できます [...]」
これは私が望んでいたものとは完全には一致しませんが、出力を一時停止する必要がなく(そして、再びオンにすることを忘れたときに困惑するかもしれません)、マウス ホイールの上方向スクロールと Shift + Alt キーのような単純な修飾キーがあるのではないかと考えました。もっと良い解決策はありますか?
答え1
少し遅くなりましたが、ここに来る人全員が解決策を見つけられるように投稿します。私にとって、同じ問題の解決策は次の通りでした。
ターミネーターの設定 -> プロファイル タブ -> スクロール [サブ] タブ -> 「出力時にスクロール」オプションのチェックを外します。
このオプションの良い点は、出力の一番下にいるときは出力をスクロールしますが、上にスクロールすると停止し、出力コンテンツがまだ生成中であっても邪魔にならないことです。
これが役に立つことを願います
答え2
tail -f log.txt | less
新しい情報に進むように更新され、その後上または下に移動できます。less
検索機能なども使用できます。パイプメソッドを使用すると、移動する出力を解析することもできます。
同じ考え方ですが、パイプはありません: less +F log.txt
。
(これは、この方法でコンテンツを操作できることを前提としています。)
昔の Unix のやり方では、ターミナルで Ctrl-S を押して停止し、Ctrl-Q を押して出力のスクロールを再開していました。これは基本的に、terminator で実行できることですstty ixon
。
スクロール バーが追加されると、これはかなり良いように思えます。Ctrl-S を押して、好きなところまで上にスクロールし、Ctrl-Q で下に戻ります。確かに、出力の一時停止を解除するのを忘れることもあります。
私は非常に怠け者なので、出力リダイレクトの柔軟性が好きなので、パイプ付きの tail -f を使用します (ケースに合うと仮定)。その後、それを停止し、上矢印キーを押して grep のようなものを追加しても、まだ実行されます。
tail -f tac_plus.log | less | egrep 'peerip'
cat
そこにs と をいくつか入れればtee
、本物のパーティーが完成します。