tmuxでスクロールバックバッファーサイズを増やす方法


328

でスクロールバックバッファサイズを増やすにはどうすればよいtmuxですか?

コピーモードに入ると、利用可能なスクロールバック行の数(右上隅に表示されます)は常に2000未満です。すべてのtmuxコマンドのリストを見つけようとしましたが、スクロールバックサイズについて何も見つかりません。すべての場合、そのオプションを設定するscreenコマンドはで機能しませんtmux

使用してtmux1.8、Ubuntuの12.04 LTSを、どちらかkonsolegnome-terminal

回答:


428

履歴の制限はペインの属性であり、ペインの作成時に固定されており、既存のペインでは変更できません。値はhistory-limitセッションオプションから取得されます(デフォルト値は2000)。

異なる値のペインを作成するには、ペインを作成するhistory-limit前に適切なオプションを設定する必要があります。

別のデフォルトを設定するには、次のような行を.tmux.confファイルに追加します。

set-option -g history-limit 3000

注:非常に大きなデフォルト値を設定する場合は注意してください。多くのペインを作成すると、簡単に大量のRAMを消費する可能性があります。

既存のセッションの新しいペイン(または新しいウィンドウの最初のペイン)の場合、そのセッションのを設定できますhistory-limit。次のようなコマンドを(シェルから)使用できます。

tmux set-option history-limit 5000 \; new-window

(初期ウィンドウの初期ペインの)新しいセッションの場合history-limit、セッションを作成する前に「グローバル」を設定する必要があります。

tmux set-option -g history-limit 5000 \; new-session

注:history-limit値を再設定しない場合、新しい値は将来作成される他のペイン/ウィンドウ/セッションにも使用されます。現在、(少なくとも一時的に)変更せhistory-limitずにshow-option(特に1.7以降では)現在の値を取得して後で復元できるようにするのに役立ちますが、独自の特定の制限を持つ単一の新しいペイン/ウィンドウ/セッションを直接作成する方法は現在ありません)。


26
「行」が本当にその中の文字だけである場合、128バイトがメモリ内の適切な行サイズであると想定できます。32 MBをコミットして単一のペインをスクロールバックするつもりなら(これは私に適しており、多くのペインを使用しません)、履歴の制限を約2 ** (25 - 7) = 256K25万行に増やすことができます。
phs

8
私は落ち着きましたset-option -g history-limit 50000
phs '27

2
私の場合、新しいペインがあっても、4700くらいしか上がらないようです。tmux 1.9
wuxmedia 2018年

4
.tmux.confファイルの場所がわからない場合は、〜/ .tmux.confに新しいファイルを作成し、この1行をファイルset-option -g history-limit 50000に追加するだけです。
C.Lee

1
私が遭遇したちょっとしたヒックアップ。この変更を有効にするには、すべてのtmuxセッションを閉じる必要があります。GNU screenから来たので、新しいscreenセッションはそれぞれ〜/ .tmux.confをソースすると想定していましたが、そうではありません。すべてのtmuxセッションが閉じられ、新しいセッションが開かれた場合のみ、〜/ .tmux.confへの変更が有効になります。
rudolph9

24

次のコマンドでtmux構成ファイルを開きます。

vim ~/.tmux.conf

構成ファイルに次の行を追加します。

set -g history-limit 5000

ログアウトして再度ログインし、新しいtmuxウィンドウを開始すると、上限は5000になります。


3
ログアウトしてログインする必要はありません。単にtmuxサーバーを完全に終了するか~/.tmux.conf、各セッションでソースを確認する必要があります(そして、それらのセッションで新しいウィンドウを起動し、古いウィンドウをすべて閉じます)。
henrebotha

3

これは、ntc2とChris Johnsenの答えに基づいています。私は、カスタムの履歴制限を使用して新しいセッションを作成するたびにこれを使用しています。将来のセッションの履歴制限を永続的に変更せずに、スクロールバックが制限されたセッションを作成する方法が必要でした。

tmux set-option -g history-limit 100 \; new-session -s mysessionname \; set-option -g history-limit 2000

これは、既存のセッションがあるかどうかに関係なく機能します。新しいセッションの履歴制限を設定した後、それをデフォルトにリセットします。私にとっては2000です。

これをもう少し便利にする実行可能なbashスクリプトを作成しました。スクリプトに渡される最初のパラメーターは新しいセッションの履歴制限を設定し、2番目のパラメーターはそのセッション名を設定します。

#!/bin/bash
tmux set-option -g history-limit "${1}" \; new-session -s "${2}" \; set-option -g history-limit 2000
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.