TMUXでスクロールが止まっていませんか?効果的な解決策をご紹介します

Tmux( Terminal Multiplexerの略)は、Unix系オペレーティングシステム(Linuxディストリビューション、Macなど)向けの、最も優れたオープンソースのターミナル/シェルマルチプライヤーの一つです。Tmuxを使うと、1つのウィンドウ内で複数のターミナルセッションに同時にアクセスできます。これは、複数のスクリプトやコマンドラインプログラムを同時に実行する場合に非常に便利です。

しかし、複数のウィンドウが同時に動作しているため、ターミナルウィンドウ(キーボードでもマウスでも)を上にスクロールするのが難しいと感じるユーザーもいます。この問題は、Unixベースのオペレーティングシステムの普及によってさらに深刻化しています。

ただし、心配しないでください。ユーザーは、以下に示すように、Tmux で簡単に上にスクロールできます。

Tmuxでスクロールモードを有効にして使用する

次のようにして、Tmux で上下にスクロールできます。

  1. 私のキーを押してください Ctrl + B キーが続く [.
  2. 今すぐ使用 標準ナビゲーションキー キーボードでは、上矢印/下矢印、Page Up、Page Down などのキーを使用して、Tmux インターフェースを移動します。

ユーザーがスクロールを終えたら、Qキーを押してTmuxのスクロールモードを終了できます。もしこの操作が期待通りに動作しない場合は、F7キーでスクロールモードに入り、Qキーで終了することで問題が解決するかどうかを確認してください。

コピーモードを有効にして使用する

  1. 私のキーを押してください Ctrl + B キーが続く Pgup.
  2. これで、ターミナルは Tmux 内で直接 1 ページ上に移動し、これが要件を満たしているかどうかを確認します。

VIモードの使用

Tmuxが接続されたクライアントによって制御されている場合、それはVIモードと呼ばれます。VIモードでは、Shift + KShift + Jを使用してTmuxインターフェースを1行ずつ移動できます(スクロールモードの場合)。それ以外の場合は、これらのキーが押されたときにのみカーソルが移動します。さらに、 TmuxではCBキーを2回押すとページを上にスクロールし、CFキーを2回押すとページを下にスクロールできます。

Tmux.Configファイルを編集する

上級ユーザーの中には、上記の方法では満足できない方もいるかもしれません。そのような場合は、Tmux.config ファイルを編集することで問題を解決できる可能性があります(後述)。Tmux.config ファイルを開くには、ターミナルでコマンドvim ~/.tmux.configを実行します。

マウススクロールを有効にする

  1. 追加 私に Tmux.config ファイル Tmux のバージョンに応じて:
    Tmuxバージョン2.1以降の場合:-g mouse onを設定してください。Tmuxバージョン2.1未満の場合:-g mode-mouse onを設定してください。
  2. ここで、マウスのスクロールが正しく機能しているかどうかを確認します。

なお、スクロールモードを終了するには、 Qキーを押してください。また、ターミナルからコンテンツをコピーするには、Shiftキーを押しながら左クリックしてください。

キーバインドによるマウススクロールを有効にする:

  1. 追加 次の行はファイル用です 設定:
    set -g mouse on # ブールスクロール: bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"
  2. الآن、 Tmux操作を終了する 次のコマンドを実行します。
    tmux キルサーバー && tmux
  3. 次に、Tmux を実行し、スクロールが期待どおりに機能するかどうかを確認します。

Tmux のマウス モードで項目をコピーする必要がある場合は、Shift キーを押しながら左クリックして内容をコピーできることに留意してください。

それでも解決しない場合は、 Tmux.config に以下の内容を追加することで問題が解決するかどうか確認してください。

set -g mouse on bind -n WheelUpPane { if -F '#{==:#{window_name},nvim}' { send-keys -M } { copy-mode -e } }

Xtermのデフォルトのスクロールを有効にする

  1. 追加 次の行はファイル用です Tmux.config:
    # 論理パスセット -g 端末オーバーライド 'xterm*:smcup@:rmcup@'
  2. ここで、Tmux パスが期待どおりであるかどうかを確認します。

それでもうまくいかない場合は、 Tmuxの設定ファイルに以下の内容を追加して、目的の動作になるかどうかを確認してください(ただし、その後システムを再起動する必要があるかもしれません)。

# ターミナルウィンドウで Xterm アドレスを許可し、スクロールバーを使用してターミナルをスクロールし、C-Up、C-Down、C-Left、C-Right のオーバーライドを設定します。set -g terminal-overrides "xterm*:XT:smcup@:rmcup@:kUP5=eOA:kDN5=eOB:kLFT5=eOD:kRIT5=eOC"

ただし、ターミナルタイプをPuttyに変更した場合、上記のコードは動作しない可能性があることに注意してください。Puttyを使用する必要がある場合は、Tmuxの設定ファイルに以下を追加してください。

-g ターミナルオーバーライド "putty*:XT:smcup@:rmcup@:kUP5=eOA:kDN5=eOB:kLFT5=eOD:kRIT5=eOC" を設定します

それでも解決しない場合は、設定ファイルに以下の内容を追加して問題が解決するかどうか確認してください。

-ga 端末オーバーライド ',xterm*:smcup@:rmcup@' を設定します

macOS Mojave以降のバージョンをご利用の場合

macOS X以降を搭載したMacでは、Optionキーを押しながら上矢印キーを押すと上にスクロールし、Optionキーを押しながら下矢印キーを押すと下にスクロールできます。

それでもうまくいかない場合は、以下のボタンを押してコピーモードに入ってください。

Ctrl + B + [

次に、行を上下にスクロールするには、矢印キーまたは矢印キーを使用します。ページを上下にスクロールするには、Fn + 上矢印キーまたはFn + 下矢印キーを使用します。モードを終了するには、Q キーを押すだけです。

ソフトウェアを追加してみてください

上記の方法がどれも期待どおりに機能しない場合は、Tmux-Better-Mouse-Modeのようなソフトウェアアドオンを使用することで、要件を満たすことができるかもしれません。

 

コメントは締め切りました。