tmuxでターミナルスクロールバーを使用する


41

キーボードを使用してtmuxでスクロールする方法は知っていますが、GNU Screenでターミナルスクロールバーを使用する方法があるように見えます。これはtmuxでできますか?


6
GNU Screenでターミナルスクロールバーを実際に使用することはできません。スクロールバーは実際にはScreenのスクロールバックバッファーにアクセスしませんが、ターミナルのスクロールバックバッファーにアクセスします。つまり、異なるScreenセッションからスクロールオフされた行は混同されます。
ak2

@ ak2 Sadness ...しかし、情報をありがとう!
ジェフ

2
iTerm2には、[ tmuxと統合する]( code.google.com/p/iterm2/wiki/TmuxIntegration)の将来の計画がいくつかあります。このような統合には、ネイティブスクロールバーを使用して tmux履歴バッファを表示することが含まれる可能性があります。
クリスジョンセン

回答:


42

これは、GNU画面とtmuxの両方で可能であり、回避策は似ています。端末に「代替画面」モード(pico、muttなどで使用されるモードなど)がないと考えるようにマルチプレクサを欺くためです。これは、セッションにtermcapコマンドを設定することにより実現されます。

GNU画面の場合、これを次のように入力します.screenrc

termcapinfo xterm*|xs|rxvt|terminal ti@:te@

tmuxの場合は、これをに追加します.tmux.conf

set -ga terminal-overrides ',xterm*:smcup@:rmcup@'

xterm*コマンドの「」部分は、端末エミュレーターとして宣言されているものに設定する必要があります。何らかの形式のxtermは推測に値しますが、ほとんどの健全な* nixシステムで次のものを確認できます。

echo $TERM

これは通常、ターミナルプログラムの設定で設定できます(つまりTerminal.app、Appleの場合は、[設定]-> [プロファイル]-> [詳細設定](または[設定]-> [詳細設定]->エミュレーション前ヨセミテ)

最終的な結果は、オーバーフローが消えるのではなく、端末のスクロールバックバッファで終わることです。もちろん、これは1つの静的バッファーであるため、画面ウィンドウまたはtmuxウィンドウを切り替えると事態が面倒になりますが、lsコマンドなどの出力をすばやく確認するためにすばやくフリックするには便利です。


2
また、単にsuperuser.com/questions/253414/…を見ましたが、これは別の代替手段として説明されているように機能します
ダグJ


1
@Nick-別の問題を解決していることに注意してください:tmuxにマウスサポートを追加します。あなたにとってより良いソリューションかもしれませんが、それはネイティブのスクロールバックバッファを使用することとは異なります。お使いの端末エミュレータが正常にYを含む* nixの上で上記の意志の仕事を定義している限り、OSX
ダグ・J

1
それは組み込みのtcshのようです。bashで使用できますecho $TERM
ダグJ

1
この「オーバーフロー」は機能しますが、tmuxの終了時に奇妙なUnicode文字が表示されます。stackoverflow.com/ q / 31790939/2668831
ルイマドックス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.