tmux — ターミナルマルチプレクサ
概要
tmux [-2CDhlNuVv] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [-T features]
[command [flags]]
説明
tmux はターミナルマルチプレクサです。これにより、複数のターミナルを作成、アクセス、および単一の画面から制御できます。tmux は画面から切り離してバックグラウンドで実行し続け、後で再接続できます。
tmux を起動すると、新しいセッションが作成され、1 つのウィンドウが表示されます。画面下部のステータス行には、現在のセッションに関する情報が表示され、インタラクティブなコマンドを入力するために使用されます。
セッションは、tmux によって管理される疑似ターミナルのコレクションです。各セッションには、1 つ以上のウィンドウが関連付けられています。ウィンドウは画面全体を占有し、長方形のペインに分割できます。各ペインは、別の疑似ターミナルです(疑似ターミナルの技術的な詳細については、pty(4) のマニュアルページを参照してください)。複数の tmux インスタンスが同じセッションに接続でき、同じセッションに複数のウィンドウが存在できます。すべてのセッションが終了すると、tmux は終了します。
各セッションは永続的であり、偶発的な切断(ssh(1) 接続タイムアウトなど)または意図的な切り離し(「C-b d」キー操作)の後も存続します。tmux は、次のように再接続できます。
$ tmux attach
tmux では、セッションはクライアントによって画面に表示され、すべてのセッションは単一のサーバーによって管理されます。サーバーと各クライアントは、/tmp 内のソケットを介して通信する個別のプロセスです。
オプションは次のとおりです。
-2 ターミナルが 256 色をサポートしていると想定するように tmux を強制します。これは、-T 25 と同じです。
-C コントロールモードで起動します(「コントロールモード」セクションを参照)。2 回指定 (-CC) すると、エコーが無効になります。
-c shell-command デフォルトのシェルを使用して、shell-command を実行します。必要に応じて、tmux サーバーが起動して、default-shell オプションを取得します。このオプションは、tmux をログインシェルとして使用する場合の [sh]({filename}../../sh)(1) との互換性のために使用されます。
-D tmux サーバーをデーモンとして起動しません。これにより、exit-empty オプションもオフになります。-D を指定すると、command を指定することはできません。
-f file 代替の構成ファイルを指定します。デフォルトでは、tmux はシステム構成ファイル(存在する場合)を /etc/tmux.conf からロードし、次にユーザー構成ファイル(存在する場合)を ~/.tmux.conf または $XDG_CONFIG_HOME/tmux/tmux.conf で検索します。
構成ファイルは、サーバーが最初に起動されたときに順番に実行される一連の tmux コマンドです。tmux は、サーバープロセスが開始されたときに構成ファイルを 1 回ロードします。source-file コマンドを使用して、後でファイルをロードできます。
tmux は、設定ファイル内のコマンドから出力されるエラーメッセージを、最初に作成されたセッションに表示し、残りの設定ファイルの処理を続行します。
-h 使用方法を表示して終了します。
-L socket-name
tmux は、サーバーソケットを TMUX_TMPDIR ディレクトリ、または設定されていない場合は /tmp ディレクトリの下に保存します。デフォルトのソケット名は default です。このオプションを使用すると、別のソケット名を指定でき、複数の独立した tmux サーバーを実行できます。-S とは異なり、完全なパスは必要ありません。ソケットはすべて、tmux-UID ディレクトリの下に作成されます。tmux-UID ディレクトリは、tmux によって作成され、世界的に読み取り、書き込み、または実行可能であってはなりません。
ソケットが誤って削除された場合、SIGUSR1 シグナルを tmux サーバープロセスに送信して、再作成できます(ただし、親ディレクトリが不足している場合は失敗します)。
-l ログインシェルとして動作します。このフラグは現在効果がなく、tmux をログインシェルとして使用する場合の他のシェルとの互換性のために用意されています。
-N 通常はサーバーを開始するコマンド(例:new-session または start-server)であっても、サーバーを開始しません。
-S socket-path
サーバーソケットの完全な代替パスを指定します。-S が指定された場合、デフォルトのソケットディレクトリは使用されず、-L フラグは無視されます。
-T features クライアントのターミナル機能を設定します。これはカンマで区切られた機能のリストです。terminal-features オプションを参照してください。
-u 最初の環境変数(LC_ALL、LC_CTYPE、または LANG)が "UTF-8" または "UTF8" を含まない場合でも、ターミナルに UTF-8 出力を書き込みます。
-V tmux のバージョンを表示します。
-v 詳細ログを要求します。ログメッセージは、tmux-client-PID.log および tmux-server-PID.log ファイルに保存され、PID はサーバーまたはクライアントプロセスの PID です。-v が 2 回指定された場合、追加の tmux-out-PID.log ファイルが生成され、tmux がターミナルに書き込むすべての内容がコピーされます。
SIGUSR2 シグナルを tmux サーバープロセスに送信すると、-v が指定されている場合と同じように、ログがオンとオフを切り替わります。
command [flags]
これは、次のセクションで説明されているように、tmux を制御するために使用される一連のコマンドのいずれかを指定します。コマンドが指定されていない場合、default-client-command のコマンド(デフォルトは new-session)が想定されます。
デフォルトのキーバインディング
tmux は、アタッチされたクライアントから、デフォルトでは C-b(Ctrl-b)のプレフィックスキーとコマンドキーの組み合わせを使用して制御できます。
デフォルトのコマンドキーバインディングは次のとおりです。
C-b プレフィックスキー(C-b)をアプリケーションに送信します。
C-o 現在のウィンドウ内のペインを時計回りに回転させます。
C-z tmux クライアントを中断します。
! 現在のペインをウィンドウから分離します。
" 現在のペインを上下に 2 つに分割します。
# すべてのペーストバッファをリストします。
$ 現在のセッションの名前を変更します。
% 現在のペインを左右に 2 つに分割します。
& 現在のウィンドウを終了します。
' 選択するウィンドウのインデックスをプロンプトで表示します。
( アタッチされたクライアントを前のセッションに切り替えます。
) アタッチされたクライアントを次のセッションに切り替えます。
, 現在のウィンドウの名前を変更します。
- 最近コピーされたテキストバッファを削除します。
. 現在のウィンドウを移動するインデックスをプロンプトで表示します。
0to 9 ウィンドウ 0 ~ 9 を選択します。
: tmux コマンドプロンプトに入ります。
; 最後にアクティブだったペインに移動します。
= リストから対話的にペーストするバッファを選択します。
? すべてのキーバインディングをリストします。
D デタッチするクライアントを選択します。
L アタッチされたクライアントを最後のセッションに戻します。
[ コピーモードに入ってテキストをコピーしたり、履歴を表示します。
] 最近コピーされたテキストバッファをペーストします。
c 新しいウィンドウを作成します。
d 現在のクライアントをデタッチします。
f 開いているウィンドウでテキストを検索するようにプロンプトを表示します。
i 現在のウィンドウに関する情報を表示します。
l 最後に選択されたウィンドウに移動します。
m 現在のペインにマークを付けます(select-pane -m を参照)。
M マークされたペインをクリアします。
n 次のウィンドウに移動します。
o 現在のウィンドウで次のペインを選択します。
p 前のウィンドウに移動します。
q ペインインデックスを一時的に表示します。
r アタッチされたクライアントを強制的に再描画します。
s 対話的に新しいセッションを選択します。
t 時刻を表示します。
w 現在のウィンドウを対話的に選択します。
x 現在のペインを終了します。
z 現在のペインのズーム状態を切り替えます。
{ 現在のペインを前のペインと交換します。
} 現在のペインを次のペインと交換します。
~ tmux からの以前のメッセージを表示します(ある場合)。
Page Up コピーモードに入り、1 ページ上にスクロールします。
Up, Down
Left, Right
現在のペインの上下左右のペインに移動します。 M-1 to M-7 7 つのプリセットレイアウトのいずれかに現在のウィンドウを配置します:even-horizontal、even-vertical、main-horizontal、main-horizontal-mirrored、main-vertical、main-vertical-mirrored、または tiled。 Space 現在のウィンドウを次のプリセットレイアウトで配置します。 M-n ベルまたはアクティビティマーカーが付いた次のウィンドウに移動します。 M-o 現在のウィンドウ内のペインを反時計回りに回転させます。 M-p ベルまたはアクティビティマーカーが付いた前のウィンドウに移動します。 C-Up, C-Down C-Left, C-Right 現在のペインを 1 セルずつサイズ変更します。 M-Up, M-Down M-Left, M-Right 現在のペインを 5 セルずつサイズ変更します。
キーバインドは、bind-key および unbind-key コマンドを使用して変更できます。
コマンドの解析と実行
tmux は、その動作を制御するために使用できる多数のコマンドをサポートしています。 各コマンドには名前が付けられ、ゼロ個以上のフラグと引数を受け取ることができます。 これらは、`bind-key` コマンドでキーにバインドしたり、シェルプロンプト、シェルスクリプト、設定ファイル、またはコマンドプロンプトから実行したりできます。 たとえば、シェルプロンプト、`~/.tmux.conf`、およびキーにバインドされた同じ `set-option` コマンドは、次のようになります。
$ tmux set-option -g status-style bg=cyan
set-option -g status-style bg=cyan
bind-key C set-option -g status-style bg=cyan
ここで、コマンド名は「set-option」、「-g」はフラグ、「status-style」と「bg=cyan」は引数です。
tmux は、コマンドの解析と実行を区別します。コマンドを実行するには、tmux はそれを名前と引数に分割する必要があります。これがコマンドの解析です。コマンドがシェルから実行される場合、シェルが解析します。tmux の内部または設定ファイルから実行される場合、tmux が解析します。tmux がコマンドを解析する例を以下に示します。
- 設定ファイル内
- コマンドプロンプトで入力([command-prompt]()を参照)
- bind-key に渡される
- if-shell または confirm-before に渡される引数
コマンドを実行するには、各クライアントには「コマンドキュー」があります。グローバルコマンドキューは、~/.tmux.conf などの設定ファイルの起動時に、どのクライアントにも関連付けられていません。解析されたコマンドがキューに追加されると、順番に実行されます。一部のコマンド(if-shell や confirm-before など)は、引数を解析して新しいコマンドを作成し、そのコマンドをすぐに自身(if-shell など)の直後に挿入します。これは、引数が 2 回以上解析される可能性があることを意味します。1 回目は、親コマンド(if-shell など)が解析されるとき、2 回目は、コマンドが解析され、実行されるときです。if-shell、run-shell、display-panes などのコマンドは、シェルコマンドが終了するまで(if-shell と run-shell の場合)またはキーが押されるまで(display-panes の場合)、キュー内の後続コマンドの実行を停止します。 たとえば、次のコマンドは次の順序で実行されます。
new-session; new-window
if-shell "true" "split-window"
kill-session
new-session、new-window、if-shell、シェルコマンド true(1)、split-window、kill-session
「コマンド」セクションには、tmux コマンドとその引数がリストされています。
解析構文
このセクションでは、tmux によって解析されるコマンドの構文について説明します。たとえば、設定ファイル内またはコマンドプロンプトで実行されるコマンドです。コマンドがシェルに入力される場合、シェルによって解析されることに注意してください(たとえば、ksh(1) または csh(1) を参照)。
各コマンドは、改行またはセミコロン(;)で終了します。セミコロンで区切られたコマンドは、「コマンドシーケンス」を形成します。シーケンス内のコマンドでエラーが発生した場合、後続のコマンドは実行されません。
コマンドの区切り文字として使用されるセミコロンは、個別のトークンとして記述することをお勧めします。たとえば、sh(1) から:
$ tmux neww \; splitw
または:
$ tmux neww ';' splitw
または、tmux コマンドプロンプトから:
neww ; splitw
ただし、末尾にセミコロンがあると、これもコマンド区切り文字として解釈されます。たとえば、次のsh(1)コマンドを参照してください。
$ tmux neww\; splitw
または:
$ tmux 'neww;' splitw
上記のように、シェルからtmuxを実行する場合、セミコロンを適切に引用して注意する必要があります。
コマンド区切り文字として解釈されるべきセミコロンは、シェルの規則に従ってエスケープする必要があります。 [sh]({filename}../../sh)(1)の場合、通常は引用符で囲む(例:‘neww;’ splitw’)か、エスケープします(例:‘neww \; splitw’)。
個別のセミコロン、または別のトークンの後に続く末尾のセミコロンで、引数として解釈されるべき場合は、シェル規則に従って一度エスケープし、tmuxのために2回エスケープします。たとえば:
$ tmux neww 'foo\;' bar
$ tmux neww foo\\\; bar
個別のトークンではない、または別のトークンの後に続くセミコロンは、シェル規則に従って1回だけエスケープする必要があります。たとえば:
$ tmux neww 'foo-;-bar'
$ tmux neww foo-\;-bar
コメントは、引用符で囲まれていない#文字で示され、その後の行の残りのテキストは無視され、行末まで無視されます。
行の最後の文字が\の場合、その行は次の行と結合されます(\と改行は完全に削除されます)。これは行の継続と呼ばれ、引用符で囲まれた文字列内と外部、およびコメント内と外部の両方で適用されますが、波括弧内では適用されません。
コマンドの引数は、一重引用符 (') または二重引用符 (") で囲まれた文字列、または波括弧 ({}) で囲まれたコマンドリストとして指定できます。これは、引数に特殊文字が含まれている場合に必要です。一重引用符と二重引用符で囲まれた文字列は、行の継続を使用しない限り、複数行にわたることはできません。波括弧は、複数行にわたることができます。
引用符の外側と二重引用符の内部では、次の置換が実行されます。
- 環境変数で始まる$は、グローバル環境からの対応する値に置き換えられます(「グローバルおよびセッション環境」セクションを参照)。
- 先頭に~または~userがある場合、現在のユーザーまたは指定されたユーザーのホームディレクトリに展開されます。
- \uXXXXまたは\uXXXXXXXXは、指定された4桁または8桁の16進数に対応するUnicodeコードポイントに置き換えられます。
- バックスラッシュ(\)で(エスケープされて)続く文字は、次の文字に置き換えられます。 \eはエスケープ文字、\rはキャリッジリターン、\nは改行、\tはタブです。
- \oooは、8進値oooの文字に置き換えられます。3桁の8進数字が必要です。たとえば、\001です。最大の有効な文字は\377です。
- その他の文字が\で始まる場合、それらは文字自体に置き換えられ(つまり、\が削除されます)、特別な意味を持つものとして扱われません。したがって、たとえば、\;はコマンドシーケンスをマークせず、$は環境変数を展開しません。
波括弧は、構成ファイルとして解析されます(したがって、'%if'などの条件が処理されます)してから、文字列に変換されます。これらは、一連のtmuxコマンドを引数として渡すときに(たとえば、if-shellに渡す場合)、追加のエスケープを回避するように設計されています。次の2つの例は、同じコマンドを生成します。波括弧を使用する場合は、エスケープは必要ありません。
if-shell true {
display -p 'brace-dollar-foo: }$foo'
}
if-shell true "display -p 'brace-dollar-foo: }\$foo'"
ブレースはブレースの中にネストできます。たとえば、次のようになります。
bind x if-shell "true" {
if-shell "true" {
display "true!"
}
}
環境変数は、「name=value」という構文を使用して設定できます。たとえば、「HOME=/home/user」です。 解析中に設定された変数は、グローバル環境に追加されます。隠し変数は、「%hidden」を使用して設定できます。たとえば、次のようになります。
%hidden MYVAR=42
隠し変数は、tmuxによって作成されるプロセスの環境に渡されません。「GLOBAL AND SESSION ENVIRONMENT」セクションを参照してください。
コマンドは、「%if」、「%elif」、「%else」、および「%endif」で囲んで条件付きで解析できます。「%if」と「%elif」の引数は、フォーマットとして拡張されます(「FORMATS」を参照)。評価がfalse(ゼロまたは空)の場合、後続のテキストは、次の「%elif」、「%else」、または「%endif」まで無視されます。たとえば、次のようになります。
%if "#{==:#{host},myhost}"
set -g status-style bg=red
%elif "#{==:#{host},myotherhost}"
set -g status-style bg=green
%else
set -g status-style bg=blue
%endif
これにより、ステータスバーが、「myhost」で実行されている場合は赤、または「myotherhost」で実行されている場合は緑、またはそれ以外のホストで実行されている場合は青に変更されます。条件文は1行で記述できます。たとえば、次のようになります。
%if #{==:#{host},myhost} set -g status-style bg=red %endif
コマンド
このセクションでは、tmuxによってサポートされるコマンドについて説明します。ほとんどのコマンドは、オプションの-t(および場合によっては-s)引数を受け入れ、引数は、target-client、target-session、target-window、またはtarget-paneのいずれかです。これらは、コマンドが影響を与えるクライアント、セッション、ウィンドウ、またはペインを指定します。
target-client は、通常、クライアントが接続されているpty(4)ファイル(たとえば、/dev/ttyp1またはttyp1)のクライアント名です。クライアントが指定されていない場合、tmuxは現在使用中のクライアントを判断しようとします。判断できない場合は、エラーが報告されます。クライアントは、list-clientsコマンドを使用して一覧表示できます。
target-session は、次の順序で試されます。
$で始まるセッションID。
list-sessionsコマンドによって一覧表示されたセッションの正確な名前。
セッション名の先頭、たとえば「mysess」は「mysession」という名前のセッションに一致します。
セッション名が「=」で始まる場合、正確な一致のみが受け入れられます(したがって、「=mysess」は「mysession」ではなく、正確に「mysess」にのみ一致します)。
1つのセッションが見つかった場合、それがターゲットセッションとして使用されます。複数のセッションが一致すると、エラーが発生します。セッションが省略された場合、現在のセッションが使用可能な場合は使用され、現在のセッションが使用できない場合は、最後に使用されたセッションが選択されます。
target-window(または src-window または dst-window)は、session:window の形式でウィンドウを指定します。
session は target-session と同じルールに従い、window は次の順序で検索されます。
特別なトークン(下記参照)。
ウィンドウインデックス。たとえば、'mysession:1' は、セッション 'mysession' のウィンドウ 1 を示します。
ウィンドウ ID。たとえば、'@1' です。
正確なウィンドウ名。たとえば、'mysession:mywindow' です。
ウィンドウ名の先頭。たとえば、'mysession:mywin' です。
ウィンドウ名に対して照合される glob(7) パターン。
セッションと同様に、'=' プレフィックスは正確な一致のみを行います。空のウィンドウ名は、適切な場合(たとえば、new-window および link-window コマンドの場合)に、次に使用されていないインデックスを指定します。それ以外の場合は、セッション内の現在のウィンドウが選択されます。
次の特殊トークンを使用して、特定のウィンドウを指定できます。それぞれに単一文字の代替形式があります。
トークン 意味
{start} ^ 最も番号の小さいウィンドウ
{end} $ 最も番号の大きいウィンドウ
{last} ! 最後の(以前に現在の)ウィンドウ
{next} + 番号で次のウィンドウ
{previous} - 番号で前のウィンドウ
target-pane(または src-pane または dst-pane)は、ペイン ID にすることも、target-window と同様の形式にすることもできますが、オプションでドットに続けてペインインデックスまたはペイン ID を追加できます。たとえば、'mysession:mywindow.1' です。ペインインデックスが省略された場合、指定されたウィンドウで現在アクティブなペインが使用されます。次の特殊トークンを使用して、ペインインデックスを指定できます。
トークン 意味
{last} ! 最後の(以前にアクティブな)ペイン
{next} + 番号で次のペイン
{previous} - 番号で前のペイン
{top} 最上位のペイン
{bottom} 最下位のペイン
{left} 最も左側のペイン
{right} 最も右側のペイン
{top-left} 左上のペイン
{top-right} 右上のペイン
{bottom-left} 左下のペイン
{bottom-right} 右下のペイン
{up-of} アクティブなペインより上のペイン
{down-of} アクティブなペインより下のペイン
{left-of} アクティブなペインより左のペイン
{right-of} アクティブなペインより右のペイン
トークン '+' と '-' の後には、オフセットを付けることができます。たとえば、次のようになります。
select-window -t:+2
さらに、target-session、target-window、または target-pane は、トークン '{mouse}'(代替形式 '=')のみで構成することもできます。これは、最近のマウスイベントが発生したセッション、ウィンドウ、またはペインを指定します(「マウスサポート」セクションを参照)。または、'{marked}'(代替形式 '~')を使用して、マークされたペインを指定できます(select-pane -m を参照)。
セッション、ウィンドウ、およびペインはそれぞれ、一意の ID で番号が付けられます。セッション ID は '$' で、ウィンドウ ID は '@' で、ペイン ID は '%' でプレフィックスが付けられます。これらは一意であり、tmux サーバーのセッション、ウィンドウ、またはペインのライフサイクル中は変更されません。ペイン ID は、ペインの子プロセスに TMUX_PANE 環境変数として渡されます。ID は、'session_id'、'window_id'、または 'pane_id' 形式(「形式」セクションを参照)を使用して表示でき、display-message、list-sessions、list-windows、または list-panes コマンドを使用して表示できます。
シェルコマンドの引数は、sh(1) コマンドです。 これは、シェルに渡される単一の引数になる場合があります。 例えば:
new-window 'vi ~/.tmux.conf'
実行されるのは:
/bin/sh -c 'vi ~/.tmux.conf'
さらに、new-window、new-session、split-window、respawn-window、respawn-pane コマンドでは、シェルコマンドを複数の引数として指定し、直接実行できます(sh -c を使用せずに)。 これにより、シェルのクォートの問題を回避できます。 例えば:
$ tmux new-window vi ~/.tmux.conf
これにより、シェルを呼び出すことなく、vi(1) が直接実行されます。
^ ommand [argument ...] は、tmux コマンドを指し、コマンドと引数を個別に渡すことも、.tmux.conf 内の単一の文字列引数として渡すこともできます。 例えば:
bind-key F1 set-option status off
または:
bind-key F1 { set-option status off }
tmux コマンドの例を次に示します。
refresh-client -t/dev/ttyp2
rename-session -tfirst newname
set-option -wt:0 monitor-activity on
new-window ; split-window -d
bind-key R source-file ~/.tmux.conf \; \
display-message "source-file done"
または、sh(1) から:
$ tmux kill-window -t :1
$ tmux new-window \; split-window -d
$ tmux new-session -d 'vi ~/.tmux.conf' \; split-window -d \; attach
クライアントとセッション
tmux サーバーは、クライアント、セッション、ウィンドウ、およびペインを管理します。 クライアントは、new-session コマンドで作成されたとき、または後で attach-session コマンドを使用して、セッションに接続して操作します。 各セッションには、1 つ以上のウィンドウが関連付けられています。 ウィンドウは複数のセッションに接続でき、1 つ以上のペインで構成され、各ペインには疑似端末が含まれています。 ウィンドウの作成、接続、およびその他の操作に関するコマンドは、「ウィンドウとペイン」セクションで説明します。
次のコマンドは、クライアントとセッションを管理するために使用できます。
attach-session [-dErx] [-c working-directory] [-f flags] [-t target-session]
(エイリアス: attach)
tmux の外部から実行された場合、現在の端末で target-session に接続します。 target-session はすでに存在している必要があります。 新しいセッションを作成するには、new-session コマンドを使用します(-A オプションを使用すると、作成または接続できます)。 tmux の内部から使用された場合、現在接続されているセッションを target-session に切り替えます。 -d が指定された場合、セッションに接続されている他のすべてのクライアントは接続解除されます。 -x が指定された場合、クライアントの親プロセスにも SIGHUP シグナルを送信し、通常はクライアントが終了します。 -f は、コンマで区切られたクライアントフラグのリストを設定します。 フラグは次のとおりです。
active-pane
クライアントは独立したアクティブなペインを持つ
ignore-size
クライアントは他のクライアントのサイズに影響を与えない
no-detach-on-destroy
セッションが破棄されたときにクライアントがアタッチされている場合でも、他のセッションが存在する場合はクライアントをデタッチしない
no-output
クライアントはコントロールモードでペインの出力を受信しない
pause-after=seconds
ペインがコントロールモードで指定された秒数遅れている場合、出力は一時停止される
read-only
クライアントは読み取り専用
wait-exit
コントロールモードで空行が入力されるまで、クライアントの終了を待機する
先頭に「!」が付いているフラグは、クライアントがすでにアタッチされている場合にフラグをオフにする。-r は -f read-only,ignore-size のエイリアス。クライアントが読み取り専用の場合、detach-client または switch-client コマンドにバインドされたキーのみ有効。active-pane フラグを持つクライアントでは、ウィンドウのアクティブなペイン(他のクライアントで使用される)とは別に、アクティブなペインを独立して選択できる。これは、カーソル位置とクライアントから発行されるコマンドにのみ影響し、フックやスタイルなどの他の機能は引き続きウィンドウのアクティブなペインを使用する。
サーバーが開始されていない場合、attach-session はサーバーの開始を試みる。これは、構成ファイルでセッションが作成されていない限り、失敗する。
attach-session のターゲットセッションルールは、わずかに調整される。tmux が最も最近使用されたセッションを選択する必要がある場合、tmux は最も最近使用されたアタッチされていないセッションを優先する。
-c は、セッションの作業ディレクトリ(新しいウィンドウで使用)を working-directory に設定する。
-E が使用される場合、update-environment オプションは適用されない。
detach-client [-aP] [-E shell-command] [-s target-session] [-t target-client]
(エイリアス:detach)
キーにバインドされている場合、-t で指定されたクライアント、または -s で指定されたセッションに現在アタッチされているすべてのクライアントから現在のクライアントをデタッチする。-a オプションは、-t で指定されたクライアントを除くすべてのクライアントを終了する。-P が指定された場合、クライアントの親プロセスに SIGHUP を送信し、通常はクライアントを終了させる。-E を指定すると、クライアントを置き換えるために shell-command を実行する。
has-session [-t target-session]
(エイリアス:has)
指定されたセッションが存在しない場合、エラーを報告して 1 で終了する。存在する場合は、0 で終了する。
kill-server
tmux サーバーとクライアントを終了し、すべてのセッションを破棄する。
kill-session [-aC] [-t target-session]
指定されたセッションを破棄し、それにリンクされているウィンドウを閉じ、他のセッションは閉じない。また、セッションにアタッチされているすべてのクライアントをデタッチする。-a が指定された場合、指定されたセッションを除くすべてのセッションが終了する。-C フラグは、セッションにリンクされているすべてのウィンドウの警告(ベル、アクティビティ、またはサイレンス)をクリアする。
list-clients [-F format] [-f filter] [-t target-session]
(エイリアス:lsc)
サーバーにアタッチされているすべてのクライアントをリストする。-F は各行のフォーマットを指定し、-f はフィルターを指定する。フィルターが true のクライアントのみが表示される。詳細は「FORMATS」セクションを参照。target-session が指定された場合、そのセッションに接続されているクライアントのみをリストする。
list-commands [-F format] [command]
(エイリアス: lscm)
コマンド、または省略された場合は tmux がサポートするすべてのコマンドの構文をリストします。
list-sessions [-F format] [-f filter]
(エイリアス: ls)
サーバーによって管理されているすべてのセッションをリストします。-F は各行のフォーマットを指定し、-f はフィルターを指定します。フィルターが true であるセッションのみが表示されます。「FORMATS」セクションを参照してください。
lock-client [-t target-client]
(エイリアス: lockc)
ターゲットクライアントをロックします。lock-server コマンドを参照してください。
lock-session [-t target-session]
(エイリアス: locks)
ターゲットセッションにアタッチされているすべてのクライアントをロックします。
new-session [-AdDEPX] [-c start-directory] [-e environment] [-f flags] [-F format] [-n window-name] [-s session-name] [-t group-name] [-x width] [-y height] [shell-command argument ...]
(エイリアス: new)
セッション名で新しいセッションを作成します。
新しいセッションは、-d が指定されていない限り、現在のターミナルにアタッチされます。window-name と shell-command は、それぞれ初期ウィンドウの名前と実行するシェルコマンドです。-d を指定すると、初期サイズはグローバルな default-size オプションから取得されます。-x と -y を使用して、別のサイズを指定できます。「-」は、利用可能な場合は現在のクライアントのサイズを使用します。-x または -y が指定された場合、default-size オプションがセッションに設定されます。-f は、カンマ区切りのクライアントフラグのリスト(attach-session を参照)を設定します。
ターミナルから実行すると、termios(4) の特殊文字が保存され、新しいセッションの新しいウィンドウに使用されます。
-A フラグを使用すると、new-session は session-name がすでに存在する場合に attach-session のように動作します。-A が指定された場合、-D は attach-session の -d のように、-X は attach-session の -x のように動作します。
-t が指定された場合、セッショングループを指定します。同じグループのセッションは、同じセットのウィンドウを共有します。新しいウィンドウは、グループ内のすべてのセッションにリンクされ、閉じられたウィンドウは、すべてのセッションから削除されます。現在のウィンドウと前のウィンドウ、およびセッションオプションは独立しており、グループ内の任意のセッションを削除しても、他のセッションには影響しません。group-name 引数は次のいずれかになります。
既存のグループの名前。この場合、新しいセッションがそのグループに追加されます。
既存のセッションの名前。この場合、新しいセッションは、そのセッションと同じグループに追加され、必要に応じて新しいグループが作成されます。
新しいセッションのみを含む新しいグループの名前。
-n と shell-command は、-t が使用されている場合は無効です。
-P オプションは、新しいセッションが作成された後に情報を出力します。デフォルトでは、「\#{session\_name}:」という形式を使用しますが、-F で別の形式を指定できます。
-E が使用されている場合、update-environment オプションは適用されません。-e は「VARIABLE=value」の形式で、新しく作成されたセッションの環境変数を設定します。複数回指定できます。
refresh-client [-cDLRSU] [-A pane:state] [-B name:what:format] [-C size] [-f flags] [-l [target-pane]] [-r pane:report] [-t target-client] [adjustment]
(エイリアス: refresh)
キーにバインドされている場合、または -t で指定された単一のクライアントに対して、現在のクライアントをリフレッシュします。-S が指定された場合、クライアントのステータスバーのみを更新します。
-U、-D、-L、-R、および -c フラグを使用すると、クライアントよりも大きいウィンドウの表示部分を変更できます。-U は、表示部分を調整行数だけ上に移動させ、-D は下に移動させ、-L は調整列数だけ左に、-R は右に移動させます。-c は、自動的にカーソルを追跡するようにリセットします。調整が省略された場合、1 が使用されます。表示位置はウィンドウのプロパティであり、クライアントのプロパティではないことに注意してください。アタッチされたセッション内の現在のウィンドウを変更すると、表示位置がリセットされます。
-C は、コントロールモードクライアントまたはコントロールモードクライアントのウィンドウの幅と高さを設定します。サイズは、'widthxheight' または 'window ID:widthxheight' のいずれかでなければなりません。例: '80x24' または '@0:80x24'。-A を使用すると、コントロールモードクライアントがペイン上でアクションをトリガーできます。引数は、ペイン ID (先頭に '%' を付けたもの)、コロン、および 'on'、'off'、'continue'、または 'pause' のいずれかです。'off' の場合、tmux はペインからの出力をクライアントに送信せず、すべてのクライアントがペインをオフにした場合、ペインからの読み取りを停止します。'continue' の場合、tmux は、手動または pause-after フラグを使用して一時停止された場合でも、ペインへの出力送信を再開します。'pause' の場合、tmux はペインを一時停止します。-A は、異なるペインに対して複数回指定できます。
-B は、コントロールモードクライアントのフォーマットへのサブスクリプションを設定します。引数は、コロンで区切られた 3 つの項目に分割されます。name はサブスクリプションの名前、what はサブスクライブする項目の種類、format はフォーマットです。サブスクリプションが追加されると、フォーマットの変更は、1 秒に 1 回まで、%subscription-changed 通知を使用して報告されます。name のみ指定すると、サブスクリプションが削除されます。what は、空にすることもできます。この場合、アタッチされたセッションのフォーマットのみをチェックします。または、次のいずれかを指定できます。ペイン ID (先頭に '%' を付けたもの)、例: '%0'。'%*' は、アタッチされたセッション内のすべてのペインです。ウィンドウ ID (先頭に '@' を付けたもの)、例: '@0'。'@*' は、アタッチされたセッション内のすべてのウィンドウです。
-f は、attach-session のクライアントフラグのカンマ区切りのリストを設定します。-r を使用すると、コントロールモードクライアントは、レポート (OSC 10 への応答など) を介してペインに関する情報を提供できます。引数は、ペイン ID (先頭に '%' を付けたもの)、コロン、およびレポートエスケープシーケンスです。
-l は、xterm(1) エスケープシーケンスを使用して、クライアントからクリップボードを要求します。target-pane が指定されている場合、クリップボードが (エンコードされた形式で) 送信されます。指定されていない場合、新しいペーストバッファーに格納されます。
-L、-R、-U、および -D は、ウィンドウがクライアントよりも大きい場合、ウィンドウの表示部分をそれぞれ左、右、上、または下に調整数だけ移動します。-c は、表示位置がカーソルに従うようにリセットします。window-size オプションを参照してください。
rename-session [-t target-session] new-name
(エイリアス: rename) セッションの名前を new-name に変更します。
server-access [-adlrw] [user]
ユーザーのアクセスまたは読み取り/書き込み権限を変更します。tmux サーバーを実行しているユーザー (所有者) と root ユーザーは変更できず、常にアクセスが許可されます。
`-a` および `-d` は、指定されたユーザーへのアクセスを許可または取り消しに使用されます。ユーザーがすでにアタッチされている場合、`-d` フラグはクライアントのアタッチを解除します。
`-r` および `-w` は、ユーザーのアクセス権を変更します。`-r` はクライアントを読み取り専用にし、`-w` は書き込み可能にします。`-l` は現在のアクセス権を表示します。
デフォルトでは、アクセスリストは空であり、tmux はファイルシステムの権限を使用してソケットを作成し、所有者(および root)以外のユーザーによるアクセスを防止します。これらの権限は手動で変更する必要があります。信頼できないユーザーに、読み取り専用であってもアクセスを許可しないように十分に注意してください。
`show-messages [-JT] [-t target-client]`
`(エイリアス: showmsgs)`
サーバーメッセージまたは情報を表示します。メッセージは、message-limit サーバーオプションで設定された制限まで保存されます。-J および -T は、ジョブおよびターミナルに関するデバッグ情報を表示します。
`source-file [-Fnqv] [-t target-pane] path ...`
`(エイリアス: source)`
指定された path(glob(7) パターンである可能性のある複数)で指定された1つ以上のファイルからコマンドを実行します。-F が存在する場合、path はフォーマットとして拡張されます。-q が指定されている場合、path が存在しない場合でもエラーは返されません。-n を使用すると、ファイルは解析されますが、コマンドは実行されません。-v は、可能な場合は解析されたコマンドと行番号を表示します。
`start-server`
`(エイリアス: start)`
tmux サーバーがまだ実行されていない場合に、セッションを作成せずにtmux サーバーを開始します。
デフォルトでは、tmux サーバーはセッションがない場合に終了するため、これは、~/.tmux.conf にセッションが作成されている場合、exit-empty がオフになっている場合、または同じコマンドシーケンスの一部として別のコマンドが実行される場合にのみ役立ちます。たとえば、次のとおりです。
`$ tmux start \; show -g`
`suspend-client [-t target-client]`
`(エイリアス: suspendc)`
SIGTSTP(tty stop)を送信して、クライアントを一時停止します。
`switch-client [-ElnprZ] [-c target-client] [-t target-session] [-T key-table]`
`(エイリアス: switchc)`
クライアント target-client の現在のセッションを target-session に切り替えます。特殊なケースとして、-t はペイン(「:」、「。」、または「%」を含むターゲット)を参照して、セッション、ウィンドウ、およびペインを変更できます。その場合、-Z はウィンドウがズームされていた場合はズームされた状態を維持します。-l、-n、または -p が使用されている場合、クライアントはそれぞれ最後のセッション、次のセッション、または前のセッションに移動します。-r は、attach-session コマンドで説明されている read-only および ignore-size フラグを切り替えます。
^ E が使用されている場合、update-environment オプションは適用されません。
`-T` はクライアントのキーテーブルを設定します。クライアントからの次のキーは、`key-table` から解釈されます。これは、複数のプレフィックスキーを構成したり、一連のキーにコマンドをバインドするために使用できます。たとえば、`abc` の入力を `list-keys` コマンドを実行するようにするには、次のようにします。
`bind-key -Ttable2 c list-keys`
`bind-key -Ttable1 b switch-client -Ttable2`
`bind-key -Troot a switch-client -Ttable1`
ウィンドウとペイン
tmux によって表示される各ウィンドウは、1つ以上のペインに分割できます。各ペインは、ディスプレイ上の特定の領域を占め、個別のターミナルです。ウィンドウは、split-window コマンドを使用してペインに分割できます。ウィンドウは、水平方向(-h フラグ付き)または垂直方向に分割できます。ペインは、resize-pane コマンド(デフォルトでは「C-Up」、「C-Down」、「C-Left」、および「C-Right」にバインド)でサイズ変更でき、現在のペインは select-pane コマンドで変更でき、rotate-window および swap-pane コマンドを使用してペインを、位置を変更せずに交換できます。ペインは、作成された順に0から番号が付けられます。
デフォルトでは、tmux ペインはペインに含まれるターミナルに直接アクセスできます。ペインは、次のようなモードのいずれかにすることもできます。
-
コピーモード。これにより、ウィンドウまたはその履歴の一部をコピーして、ペーストバッファーにコピーし、後で別のウィンドウに挿入できます。このモードは、デフォルトで
[にバインドされているcopy-modeコマンドを使用して入力します。コピーされたテキストは、デフォルトで]にバインドされているpaste-bufferコマンドを使用して貼り付けることができます。 -
ビューモード。これはコピーモードに似ていますが、
list-keysなどの出力を生成するコマンドがキーバインディングから実行されたときに入力されます。 -
選択モード。これにより、リストから項目を選択できます。クライアント、セッション、ウィンドウ、ペイン、またはバッファーにすることができます。このモードは、
choose-buffer、choose-client、およびchoose-treeコマンドを使用して入力します。
コピーモードでは、現在の位置と履歴の行数がペインの右上隅に表示されます。
コマンドは、-X フラグを send-keys コマンドに追加してコピーモードに送信されます。キーが押されると、コピーモードは mode-keys オプションに応じて、2 つのキーテーブルのいずれかを使用します。copy-mode は Emacs 用、copy-mode-vi は vi 用です。キーテーブルは、list-keys コマンドを使用して表示できます。
次のコマンドはコピーモードでサポートされています。
append-selection
最上位のペーストバッファーに選択を付加します。
append-selection-and-cancel (vi: A)
選択を最上位のペーストバッファーに付加して、コピーモードを終了します。
back-to-indentation (vi: ^) (emacs: M-m)
カーソルをインデントに戻します。
begin-selection (vi: Space) (emacs: C-Space)
選択を開始します。
bottom-line (vi: L)
最下行に移動します。
cancel (vi: q) (emacs: Escape)
コピーモードを終了します。
clear-selection (vi: Escape) (emacs: C-g)
現在の選択をクリアします。
copy-end-of-line [-CP] [prefix]
カーソルの位置から行末までをコピーします。prefix は、新しいペーストバッファーの名前として使用されます。
copy-end-of-line-and-cancel [-CP] [prefix]
カーソルの位置からコピーし、コピーモードを終了します。
copy-pipe-end-of-line [-CP] [command] [prefix]
カーソルの位置から行末までをコピーし、テキストをコマンドにパイプします。prefix は、新しいペーストバッファーの名前として使用されます。
copy-pipe-end-of-line-and-cancel [-CP] [command] [prefix]
^ opy-pipe-end-of-line と同じですが、コピーモードも終了します。
copy-line [-CP] [prefix]
行全体をコピーします。
copy-line-and-cancel [-CP] [prefix]
行全体をコピーし、コピーモードを終了します。
copy-pipe-line [-CP] [command] [prefix]
行全体をコピーし、テキストをコマンドにパイプします。prefix は新しいペーストバッファの名前として使用されます。
copy-pipe-line-and-cancel [-CP] [command] [prefix]
copy-pipe-line と同じですが、コピーモードも終了します。
copy-pipe [-CP] [command] [prefix]
選択範囲をコピーし、選択範囲をクリアし、そのテキストをコマンドにパイプします。prefix は新しいペーストバッファの名前として使用されます。
copy-pipe-no-clear [-CP] [command] [prefix]
copy-pipe と同じですが、選択範囲をクリアしません。
copy-pipe-and-cancel [-CP] [command] [prefix]
copy-pipe と同じですが、コピーモードも終了します。
copy-selection [-CP] [prefix]
現在の選択範囲をコピーします。
copy-selection-no-clear [-CP] [prefix]
copy-selection と同じですが、選択範囲をクリアしません。
copy-selection-and-cancel [-CP] [prefix] (vi: Enter) (emacs: M-w)
現在の選択範囲をコピーし、コピーモードを終了します。
cursor-down (vi: j) (emacs: Down)
カーソルを下に移動します。
cursor-down-and-cancel
cursor-down と同じですが、最下部に到達した場合はコピーモードも終了します。
cursor-left (vi: h) (emacs: Left)
カーソルを左に移動します。
cursor-right (vi: l) (emacs: Right)
カーソルを右に移動します。
cursor-up (vi: k) (emacs: Up)
カーソルを上に移動します。
cursor-centre-vertical (emacs: C-l)
カーソルをペインの垂直方向の中央に移動します。
cursor-centre-horizontal (emacs: M-l)
カーソルをペインの水平方向の中央に移動します。
end-of-line (vi: $) (emacs: C-e)
カーソルを行末に移動します。
goto-line line (vi: :) (emacs: g)
カーソルを特定の行に移動します。
halfpage-down (vi: C-d) (emacs: M-Down)
半ページ分下にスクロールします。
halfpage-down-and-cancel
halfpage-down と同じですが、最下部に到達した場合はコピーモードも終了します。
halfpage-up (vi: C-u) (emacs: M-Up)
半ページ分上にスクロールします。
history-bottom (vi: G) (emacs: M->)
履歴の最下部にスクロールします。
history-top (vi: g) (emacs: M-<)
履歴の最上部にスクロールします。
jump-again (vi: ;) (emacs: ;)
最後のジャンプを繰り返します。
jump-backward to (vi: F) (emacs: F)
指定されたテキストまで後方にジャンプします。
jump-forward to (vi: f) (emacs: f)
指定されたテキストまで前方にジャンプします。
jump-reverse (vi: ,) (emacs: ,)
最後のジャンプを指定されたテキストまで逆方向に繰り返します(前方ジャンプは後方ジャンプに、後方ジャンプは前方ジャンプになります)。
jump-to-backward to (vi: T)
後方にジャンプしますが、1文字少なくし、カーソルをターゲット文字の後の文字に配置します。
jump-to-forward to (vi: t)
前方にジャンプしますが、1文字少なくし、カーソルをターゲット文字の前の文字に配置します。
jump-to-mark (vi: M-x) (emacs: M-x)
最後のマークにジャンプします。
middle-line (vi: M) (emacs: M-r)
中央の行に移動します。
next-matching-bracket (vi: %) (emacs: M-C-f)
次の対応する括弧に移動します。
next-paragraph (vi: }) (emacs: M-})
次の段落に移動します。
next-prompt [-o]
次のプロンプトに移動します。
next-word (vi: w)
次の単語に移動します。
next-word-end (vi: e) (emacs: M-f)
次の単語の末尾に移動します。
next-space (vi: W)
スペースのみを単語の区切り文字として使用して、次の単語へ移動します。
next-space-end (vi: E)
スペースのみを単語の区切り文字として使用して、次の単語の末尾へ移動します。
other-end (vi: o)
選択のカーソルの位置を切り替えます。
page-down (vi: C-f) (emacs: PageDown)
1ページ下にスクロールします。
page-down-and-cancel
1ページ下にスクロールし、最下部に到達した場合はコピーモードを終了します。
page-up (vi: C-b) (emacs: PageUp)
1ページ上にスクロールします。
pipe [コマンド]
選択したテキストをコマンドにパイプし、選択をクリアします。
pipe-no-clear [コマンド]
パイプと同様ですが、選択をクリアしません。
pipe-and-cancel [コマンド] [プレフィックス]
パイプと同様ですが、コピーモードも終了します。
previous-matching-bracket (emacs: M-C-b)
前の対応する括弧へ移動します。
previous-paragraph (vi: {) (emacs: M-{)
前の段落へ移動します。
previous-prompt [-o]
前のプロンプトへ移動します。
previous-word (vi: b) (emacs: M-b)
前の単語へ移動します。
previous-space (vi: B)
スペースのみを単語の区切り文字として使用して、前の単語へ移動します。
rectangle-on
長方形選択モードをオンにします。
rectangle-off
長方形選択モードをオフにします。
rectangle-toggle (vi: v) (emacs: R)
長方形選択モードを切り替えます。
refresh-from-pane (vi: r) (emacs: r)
ペインからコンテンツをリフレッシュします。
scroll-bottom
現在の行を最下部に表示し、カーソルをその行に保持したまま上にスクロールします。
scroll-down (vi: C-e) (emacs: C-Down)
下にスクロールします。
scroll-down-and-cancel
下にスクロールし、カーソルが最下部に到達した場合はコピーモードを終了します。
scroll-middle (vi: z)
現在の行を中央に表示し、カーソルをその行に保持したままスクロールします。
scroll-top
現在の行を最上部に表示し、カーソルをその行に保持したまま下にスクロールします。
scroll-up (vi: C-y) (emacs: C-Up)
上にスクロールします。
search-again (vi: n) (emacs: n)
最後の検索を繰り返します。
search-backward text (vi: ?)
指定されたテキストを後ろ向きに検索します。
search-backward-incremental text (emacs: C-r)
指定されたテキストを後ろ向きにインクリメンタルに検索します。-iフラグをcommand-promptコマンドで使用することを想定しています。
search-backward-text text
指定されたプレーンテキストを後ろ向きに検索します。
search-forward text (vi: /)
指定されたテキストを前向きに検索します。
search-forward-incremental text (emacs: C-s)
指定されたテキストを前向きにインクリメンタルに検索します。-iフラグをcommand-promptコマンドで使用することを想定しています。
search-forward-text text
指定されたプレーンテキストを前向きに検索します。
search-reverse (vi: N) (emacs: N)
最後の検索を逆方向に繰り返します(前向きが後向きに、後向きが前向きになります)。
select-line (vi: V)
現在の行を選択します。
select-word
現在の単語を選択します。
selection-mode [文字 | 単語 | 行]
選択モードを変更します。
set-mark (vi: X) (emacs: X)
現在の行にマークを付けます。
start-of-line (vi: 0) (emacs: C-a)
カーソルを行の先頭に移動します。
stop-selection
現在の選択をクリアせずに選択を停止します。
toggle-position (vi: P) (emacs: P)
画面右上の位置表示の表示/非表示を切り替えます。
top-line (vi: H) (emacs: M-R)
一番上の行に移動します。
検索コマンドにはいくつかの種類があります。「search-forward」と「search-backward」は、正規表現を検索します。 「-text」バリアントは、正規表現ではなく、プレーンテキスト文字列を検索します。「-incremental」は、インクリメンタル検索を実行し、コマンドプロンプトのコマンドで「-i」フラグとともに使用することを想定しています。「search-again」は、最後の検索を繰り返します。「search-reverse」も同様ですが、方向を反転させます(前方検索は後方検索に、後方検索は前方検索になります)。
デフォルトのインクリメンタル検索キーバインディング「C-r」と「C-s」は、emacs(1) をエミュレートするように設計されています。 最初に押すと、新しい検索用語を入力できます。検索用語が空の場合、以前に使用した検索用語を繰り返します。
「next-prompt」と「previous-prompt」は、シェルのプロンプト間を移動しますが、シェルが、tmuxにプロンプトの位置を伝えるエスケープシーケンス(\033]133;A\033\)を発行する必要があります。シェルがこれを行わない場合、これらのコマンドは何も行いません。-oフラグは、シェルのプロンプトではなく、コマンド出力の先頭にジャンプします。コマンド出力の先頭を見つけるには、シェルがエスケープシーケンス(\033]133;C\033\)を発行して、tmuxにプロンプトの開始位置を伝えます。シェルがこれらのエスケープシーケンスを送信しない場合、これらのコマンドは何も行いません。
コピーコマンドは、オプションのバッファプレフィックス引数を受け取り、これを使用してバッファ名(デフォルトは「buffer」であるため、バッファは「buffer0」、「buffer1」などという名前になります)を生成します。パイプコマンドは、選択されたテキストをパイプするコマンドである、コマンド引数を受け取ります。「copy-pipe」バリアントは、選択内容もコピーします。「-and-cancel」バリアントのコマンドは、コピーコマンドの場合、またはスクロールコマンドの場合、カーソルが下部に到達したときに、コピーモードを終了します。「-no-clear」バリアントは、選択内容をクリアしません。すべてのコピーコマンドは、-Cおよび-Pフラグを受け入れることができます。-Cフラグは、コピー時にターミナルクリップボードの設定を抑制し、-Pフラグは、テキストを含む貼り付けバッファの追加を抑制します。
次の単語と前の単語キーは、空白をスキップし、連続する単語区切りまたは他の文字の連続を単語として扱います。単語区切りは、word-separatorsセッションオプションを使用してカスタマイズできます。次の単語は、次の単語の先頭に移動し、次の単語の末尾は、次の単語の末尾に移動し、前の単語は、前の単語の先頭に移動します。3つの次のスペースキーと前のスペースキーは同様に機能しますが、空白のみを単語区切りとして使用します。word-separatorsを空の文字列に設定すると、次の/前の単語は、次の/前のスペースと同等になります。
ジャンプコマンドを使用すると、行内ですばやく移動できます。たとえば、「f」の後に「/」と入力すると、カーソルが現在の行の次の「/」文字に移動します。「;」を押すと、次の出現箇所にジャンプします。
コピーモードでは、コマンドの前にオプションの繰り返し回数を付けることができます。viキーバインディングの場合、数字キーを使用してプレフィックスを入力します。emacsの場合は、Alt(メタ)キーと数字を使用してプレフィックスを入力します。
コピーモードコマンドの構文は次のとおりです。
copy-mode [-deHMqSu] [-s src-pane] [-t target-pane]
コピーモードに入ります。
-u はコピーモードに入り、1ページ上にスクロールし、-d は1ページ下にスクロールします。-H は、右上の位置インジケーターを非表示にします。-q はコピーモードやその他のモードをキャンセルします。
-M はマウスドラッグを開始します(マウスキーバインディングにバインドされている場合にのみ有効です。詳細は「MOUSE SUPPORT」を参照してください)。-S は、マウスドラッグイベントにバインドされたときにスクロールします。たとえば、copy-mode -Se はデフォルトで MouseDrag1ScrollbarSlider にバインドされています。
-s は、ターゲットペインではなく、src-pane からコピーします。
-e は、履歴の最下部(表示されている画面)までスクロールすると、コピーモードが終了するように指定します。コピーモード中に、スクロールに使用するキー以外のキーを押すと、この動作が無効になります。これは、ペインの履歴をすばやくスクロールできるようにするためのもので、たとえば次のように使用できます。
bind PageUp copy-mode -eu
bind PageDown copy-mode -ed
利用可能なプリセットのペイン配置がいくつかあります。これらはレイアウトと呼ばれます。これらのレイアウトは、select-layout コマンドで選択するか、next-layout(デフォルトでは「Space」にバインドされています)で切り替えることができます。レイアウトが選択されると、その中のペインは通常どおりに移動およびサイズ変更できます。
次のレイアウトがサポートされています。
even-horizontal
ペインは、ウィンドウの上から左に均等に配置されます。
even-vertical
ペインは、上から下に均等に配置されます。
main-horizontal
大きな(メイン)ペインがウィンドウの上部に表示され、残りのペインが下部の残りのスペースに左から右に配置されます。main-pane-height ウィンドウオプションを使用して、上部のペインの高さを指定します。
main-horizontal-mirrored
main-horizontal と同じですが、メインペインがウィンドウの下部に配置されるようにミラーリングされています。
main-vertical
大きな(メイン)ペインがウィンドウの左側に表示され、残りのペインが右側の残りのスペースに上から下に配置されます。main-pane-width ウィンドウオプションを使用して、左側のペインの幅を指定します。
main-vertical-mirrored
main-vertical と同じですが、メインペインがウィンドウの右側に配置されるようにミラーリングされています。
tiled
ペインは、ウィンドウ内の行と列にできるだけ均等に配置されます。
さらに、select-layout を使用して、以前に使用したレイアウトを適用することもできます。list-windows コマンドは、各ウィンドウのレイアウトを、select-layout で使用できる形式で表示します。たとえば、次のようにします。
$ tmux list-windows
0 ksh [159x48]
layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0}
$ tmux select-layout 'bb62,159x48,0,0{79x48,0,0,79x48,80,0}'
tmux は、現在のウィンドウサイズに合わせてレイアウトのサイズを自動的に調整します。ただし、レイアウトが定義されたペインよりも多くのペインを持つウィンドウには、レイアウトを適用することはできません。
ウィンドウとペインに関連するコマンドは次のとおりです。
break-pane [-abdP] [-F format] [-n window-name] [-s src-pane] [-t dst-window]
(エイリアス:breakp)
src-pane を、それが含まれるウィンドウから切り離し、dst-window の唯一のペインにします。
-a または -b を指定すると、ウィンドウは、次のインデックスまたは前のインデックスに移動します(既存のウィンドウは必要に応じて移動されます)。-d を指定すると、新しいウィンドウは現在のウィンドウになりません。-P オプションは、新しいウィンドウが作成された後に、その情報を出力します。
デフォルトでは、‘\#{session\_name}:\#{window\_index}.\#{pane\_index}’ という形式を使用しますが、-F を使用して別の形式を指定できます。
capture-pane [-aepPqCJMN] [-b buffer-name] [-E end-line] [-S start-line] [-t target-pane]
(エイリアス:capturep)
ペインの内容をキャプチャします。-p を指定すると、出力は標準出力に出力され、それ以外の場合は、-b で指定されたバッファー、または指定されていない場合は新しいバッファーに出力されます。-a を指定すると、代替画面が使用され、履歴にはアクセスできません。代替画面が存在しない場合は、エラーが返されますが、-q を指定すると、そのエラーは抑制されます。同様に、ペインがモードにある場合は、-M が画面をモードの画面として使用します。-e を指定すると、出力にはテキストと背景属性のエスケープシーケンスが含まれます。-C は、印刷できない文字もオクタル形式の \xxx としてエスケープします。-T は、文字を含まない末尾の文字を無視します。-N は、各行の末尾にある末尾のスペースを保持し、-J は、末尾のスペースを保持し、折り返された行を結合します。-J は -T を意味します。-P は、ペインが受信した、未完了のエスケープシーケンスの開始部分である出力のみをキャプチャします。
-S と -E は、それぞれ開始行と終了行の行番号を指定します。0 は、表示されているペインの最初の行であり、負の数は履歴内の行です。'-' を -S に指定すると、履歴の先頭になり、-E に指定すると、表示されているペインの末尾になります。デフォルトでは、表示されているペインの内容のみをキャプチャします。
choose-client [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane]
[template]
ペインをクライアントモードにし、クライアントがリストから対話的に選択できるようにします。
各クライアントは1行に表示されます。左側にショートカットキーが表示され、すぐに選択できるか、リストをナビゲートしてアイテムを選択したり、その他の操作を実行したりできます。-Z はペインを拡大します。-y は、確認プロンプトを無効にします。クライアントモードで使用できるキーは次のとおりです。
キー 機能
Enter 選択したクライアントを選択
Up 前のクライアントを選択
Down 次のクライアントを選択
C-s 名前で検索
n 最後の検索を繰り返す(前方)
N 最後の検索を繰り返す(後方)
t クライアントのタグ付けを切り替える
T すべてのクライアントのタグ付けを解除する
C-t すべてのクライアントをタグ付けする
d 選択したクライアントをデタッチする
D タグ付けされたクライアントをデタッチする
x 選択したクライアントをデタッチし、HUP シグナルを送信する
X タグ付けされたクライアントをデタッチし、HUP シグナルを送信する
z 選択したクライアントを中断する
Z タグ付けされたクライアントを中断する
f アイテムをフィルタリングするための形式を入力する
O ソートフィールドを変更する
r ソート順を反転する
v プレビューの表示を切り替える
q モードを終了する
クライアントが選択されると、テンプレート内の「%%」はクライアント名に置き換えられ、結果がコマンドとして実行されます。テンプレートが指定されていない場合、「detach-client -t '%%'」が使用されます。
-O は初期ソートフィールドを指定します。'name'、'size'、'creation'(時間)、または 'activity'(時間)のいずれかです。-r はソート順序を反転します。-f は初期フィルターを指定します。フィルターはフォーマットです。評価結果がゼロの場合、リスト内のアイテムは表示されません。それ以外の場合は表示されます。フィルターによって空のリストが生成される場合、フィルターは無視されます。-F はリスト内の各アイテムのフォーマットを指定し、-K は各ショートカットキーのフォーマットを指定します。これらは両方とも各行に対して1回評価されます。-N はプレビューなしで開始するか、2回指定された場合は大きなプレビューで開始します。このコマンドは、少なくとも1つのクライアントがアタッチされている場合にのみ機能します。
choose-tree [-GNrswyZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [テンプレート]
ペインをツリーモードに設定します。セッション、ウィンドウ、またはペインをツリーから対話的に選択できます。各セッション、ウィンドウ、またはペインは1つの行に表示されます。ショートカットキーは左側に括弧で表示され、即座に選択できます。または、ツリーをナビゲートして、アイテムを選択したり、その他の操作を実行したりできます。-s はセッションを折りたたんで開始し、-w はウィンドウを折りたたんで開始します。-Z はペインをズームします。-y は確認プロンプトを無効にします。次のキーは、ツリーモードで使用できます。
キー 機能
Enter 選択したアイテムを選択
Up 前のアイテムを選択
Down 次のアイテムを選択
S-Up 現在のウィンドウを前のウィンドウと交換
S-Down 現在のウィンドウを次のウィンドウと交換
+ 選択したアイテムを展開
- 選択したアイテムを折りたたみ
M-+ すべてのアイテムを展開
M-- すべてのアイテムを折りたたみ
x 選択したアイテムを削除
X タグ付けされたアイテムを削除
< プレビューリストを左にスクロール
> プレビューリストを右にスクロール
C-s 名前で検索
m マークされたペインを設定
M マークされたペインをクリア
n 最後の検索を繰り返す(前方)
N 最後の検索を繰り返す(後方)
t アイテムがタグ付けされているかどうかを切り替える
T すべてのアイテムのタグを解除
C-t すべてのアイテムにタグを付ける
: タグ付けされた各アイテムに対してコマンドを実行
f アイテムをフィルターするフォーマットを入力
H 開始ペインにジャンプ
O ソートフィールドを変更
r ソート順序を反転
v プレビューの表示を切り替える
q モードを終了
セッション、ウィンドウ、またはペインが選択されると、最初のインスタンスの「%%」とすべてのインスタンスの「%1」がターゲットに置き換えられ、結果がコマンドとして実行されます。テンプレートが指定されていない場合、「switch-client -t '%%'」が使用されます。
-O は初期ソートフィールドを指定します。'index'、'name'、または 'time'(アクティビティ)のいずれかです。-r はソート順序を反転します。-f は初期フィルターを指定します。フィルターはフォーマットです。評価結果がゼロの場合、アイテムは表示されません。それ以外の場合は表示されます。フィルターによって空のリストが生成される場合、フィルターは無視されます。-F はツリー内の各アイテムのフォーマットを指定し、-K は各ショートカットキーのフォーマットを指定します。これらは両方とも各行に対して1回評価されます。-N はプレビューなしで開始するか、2回指定された場合は大きなプレビューで開始します。-G は、セッショングループ内のすべてのセッションをツリーに含めます(最初のセッションのみではなく)。このコマンドは、少なくとも1つのクライアントがアタッチされている場合にのみ機能します。
customize-mode [-NZ] [-F format] [-f filter] [-t target-pane] [template]
ペインをカスタマイズモードにします。このモードでは、オプションやキーバインドをリストから参照および変更できます。リスト内のオプション値は、現在のウィンドウの選択されているペインに対して表示されます。-Z はペインをズームします。カスタマイズモードでは、次のキーを使用できます。
キー 機能
Enter ペイン、ウィンドウ、セッション、またはグローバルオプション値を設定
Up 前の項目を選択
Down 次の項目を選択
+ 選択した項目を展開
- 選択した項目を折りたたむ
M-+ すべての項目を展開
M-- すべての項目を折りたたむ
s オプション値またはキー属性を設定
S グローバルオプション値を設定
w オプションがペインとウィンドウの両方に適用される場合、ウィンドウオプション値を設定
d オプションまたはキーをデフォルト値に設定
D タグ付けされたオプションとタグ付けされたキーをデフォルト値に設定
u オプションを解除(グローバルオプションの場合はデフォルト値に設定)またはキーをバインド解除
U タグ付けされたオプションを解除し、タグ付けされたキーをバインド解除
C-s 名前で検索
n 最後の検索を繰り返す(前方)
N 最後の検索を繰り返す(後方)
t 項目のタグ付けを切り替える
T すべての項目のタグを解除
C-t すべての項目にタグを付ける
f アイテムをフィルタリングするためのフォーマットを入力
v オプション情報を切り替える
q モードを終了
-f は初期フィルタを指定します。フィルタはフォーマットです。評価結果がゼロの場合、リスト内の項目は表示されません。そうでない場合は、表示されます。フィルタによってリストが空になると、フィルタは無視されます。-F は、ツリー内の各項目のフォーマットを指定します。-N は、オプション情報を表示せずに開始します。このコマンドは、少なくとも1つのクライアントが接続されている場合にのみ機能します。
display-panes [-bN] [-d duration] [-t target-client] [template]
(エイリアス:displayp)
target-clientによって表示される各ペインの目に見えるインジケーターを表示します。インジケーターの色は、display-panes-colourおよびdisplay-panes-active-colourセッションオプションで設定されます。インジケーターは、キーが押される(-Nが指定されていない場合)か、durationミリ秒経過すると閉じます。-dが指定されていない場合、display-panes-timeが使用されます。durationがゼロの場合、インジケーターはキーが押されるまで表示されたままになります。インジケーターが表示されている間、‘0’から‘9’までのキーを使用してペインを選択できます。これにより、templateがコマンドとして実行され、「%%」がペインIDに置き換えられます。デフォルトのtemplateは「select-pane -t '%%'」です。-bを指定すると、インジケーターが閉じられるまで他のコマンドの実行がブロックされます。
find-window [-iCNrTZ] [-t target-pane] match-string
(エイリアス:findw)
ウィンドウ名、タイトル、および表示されている内容(ただし、履歴は除く)で、glob(7)パターンまたは、-rを指定した場合は正規表現match-stringを検索します。フラグは、マッチングの動作を制御します。-Cは表示されているウィンドウの内容のみにマッチし、-Nはウィンドウ名のみにマッチし、-Tはウィンドウタイトルのみにマッチします。-iは、大文字と小文字を区別せずに検索します。デフォルトは-CNTです。-Zはペインをズームします。
このコマンドは、少なくとも1つのクライアントが接続されている場合にのみ機能します。
join-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(エイリアス: joinp)
split-windowと同様ですが、dst-paneを分割して新しいペインを作成する代わりに、分割してsrc-paneをそのスペースに移動します。 これは、break-paneを元に戻すために使用できます。 -bオプションは、src-paneをdst-paneの左または上部に結合します。
-sが省略され、マークされたペインが存在する場合(select-pane -mを参照)、現在のペインではなく、マークされたペインが使用されます。
kill-pane [-a] [-t target-pane]
(エイリアス: killp)
指定されたペインを破棄します。 ペインが残っていない場合、ペインを含むウィンドウも破棄されます。 -aオプションは、-tで指定されたペインを除くすべてのペインを破棄します。
kill-window [-a] [-t target-window]
(エイリアス: killw)
現在のウィンドウまたはtarget-windowで指定されたウィンドウを破棄し、それがリンクされているすべてのセッションから削除します。 -aオプションは、-tで指定されたウィンドウを除くすべてのウィンドウを破棄します。
last-pane [-deZ] [-t target-window]
(エイリアス: lastp)
最後に選択されたペインを選択します。 -Zは、ウィンドウがズームされていた場合にズーム状態を維持します。 -eはペインへの入力を有効にし、-dは入力を無効にします。
last-window [-t target-session]
(エイリアス: last)
最後に選択されたウィンドウを選択します。 target-sessionが指定されていない場合は、現在のセッションの最後のウィンドウを選択します。
link-window [-abdk] [-s src-window] [-t dst-window]
(エイリアス: linkw)
src-windowで指定されたウィンドウを、指定されたdst-windowにリンクします。 dst-windowが指定され、そのようなウィンドウが存在しない場合、src-windowはそこにリンクされます。 -aまたは-bを指定すると、ウィンドウはdst-windowの次のインデックスまたはその前のインデックスに移動します(既存のウィンドウは必要に応じて移動されます)。 -kを指定し、dst-windowが存在する場合、それは破棄されます。そうでない場合はエラーが発生します。 -dを指定すると、新しくリンクされたウィンドウは選択されません。
list-panes [-as] [-F format] [-f filter] [-t target]
(エイリアス: lsp)
-aが指定された場合、targetは無視され、サーバー上のすべてのペインがリストされます。 -sが指定された場合、targetはセッション(または現在のセッション)になります。 どちらも指定されていない場合、targetはウィンドウ(または現在のウィンドウ)になります。 -Fは各行のフォーマットを指定し、-fはフィルターを指定します。 フィルターが真であるペインのみが表示されます。 「フォーマット」セクションを参照してください。
list-windows [-a] [-F format] [-f filter] [-t target-session]
(エイリアス: lsw)
-aが指定された場合、サーバー上のすべてのウィンドウをリストします。 そうでない場合は、現在のセッションまたはtarget-session内のウィンドウをリストします。 -Fは各行のフォーマットを指定し、-fはフィルターを指定します。 フィルターが真であるウィンドウのみが表示されます。 「フォーマット」セクションを参照してください。
move-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(エイリアス: movep)
join-paneと同じように動作します。
`move-window [-abrdk] [-s src-window] [-t dst-window]`
`(alias: movew)`
これは `link-window` に似ていますが、`src-window` のウィンドウが `dst-window` に移動されます。
`-r` を指定すると、セッション内のすべてのウィンドウが連番で番号が付け直され、ベースインデックスオプションが尊重されます。
`new-window [-abdkPS] [-c start-directory] [-e environment] [-F format] [-n window-name] [-t target-window] [shell-command [argument ...]]`
`(alias: neww)`
新しいウィンドウを作成します。`-a` または `-b` を指定すると、新しいウィンドウは指定された `target-window` の次のインデックスまたは前のインデックスに挿入され、必要に応じてウィンドウが上に移動します。そうでない場合、`target-window` が新しいウィンドウの場所になります。
`-d` が指定されている場合、セッションは新しいウィンドウを現在のウィンドウにしません。
`target-window` は作成するウィンドウを表します。ターゲットがすでに存在する場合、エラーが表示されます。ただし、`-k` フラグが使用されている場合は、ターゲットが破棄されます。`-S` が指定され、`window-name` という名前のウィンドウがすでに存在する場合、そのウィンドウが選択されます(ただし、`-d` も指定されている場合は、コマンドは何もしません)。
`shell-command` は実行するコマンドです。`shell-command` が指定されていない場合、`default-command` オプションの値が使用されます。`-c` は、新しいウィンドウが作成される作業ディレクトリを指定します。
シェルコマンドが完了すると、ウィンドウは閉じます。`remain-on-exit` オプションを使用して、この動作を変更できます。
`-e` は `VARIABLE=value` の形式を取り、新しく作成されたウィンドウの環境変数を設定します。複数回指定できます。
`TERM` 環境変数は、tmux 内で実行されるすべてのプログラムに対して `screen` または `tmux` に設定する必要があります。新しいウィンドウは自動的に `TERM=screen` が環境に追加されますが、シェル起動ファイルや `-e` オプションでこれをリセットしないように注意する必要があります。
`-P` オプションは、新しいウィンドウが作成された後にその情報を出力します。デフォルトでは、`\#{session_name}:\#{window_index}` という形式を使用しますが、`-F` を使用して別の形式を指定できます。
`next-layout [-t target-window]`
`(alias: nextl)`
ウィンドウを次のレイアウトに移動し、パンを配置し直して調整します。
`next-window [-a] [-t target-session]`
`(alias: next)`
セッション内の次のウィンドウに移動します。`-a` を使用すると、アラートのある次のウィンドウに移動します。
`pipe-pane [-IOo] [-t target-pane] [shell-command]`
`(alias: pipep)`
`target-pane` で実行されているプログラムからの出力をシェルコマンドにパイプするか、その逆を行います。パンは一度に 1 つのコマンドにのみ接続できます。既存のパイプは、`shell-command` が実行される前に閉じられます。`shell-command` 文字列には、`status-left` オプションでサポートされている特殊文字シーケンスを含めることができます。`shell-command` が指定されていない場合、現在のパイプ(存在する場合)が閉じられます。
`-I` と `-O` は、シェルコマンドの出力ストリームのどちらをパンに接続するかを指定します。`-I` を指定すると、標準出力が接続されます(シェルコマンドからのすべての出力が、パンにタイプされたものとして書き込まれます)。`-O` を指定すると、標準入力が接続されます(パンからのすべての出力がシェルコマンドにパイプされます)。両方を一緒に使用できます。どちらも指定されていない場合は、`-O` が使用されます。
^ o オプションは、既存のパイプがない場合にのみ新しいパイプを開きます。これにより、単一のキーでパイプのオン/オフを切り替えることができます。例:
bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P'
^ revious-layout [-t target-window]
(エイリアス: prevl)
セッション内の前のレイアウトに移動します。
^ revious-window [-a] [-t target-session]
(エイリアス: prev)
セッション内の前のウィンドウに移動します。-a を指定すると、アラートのある前のウィンドウに移動します。
^ ename-window [-t target-window] new-name
(エイリアス: renamew)
現在のウィンドウ、または指定された target-window のウィンドウの名前を new-name に変更します。
^ esize-pane [-DLMRTUZ] [-t target-pane] [-x width] [-y height] [adjustment]
(エイリアス: resizep)
^ U、-D、-L、または -R を使用して、または -x または -y を使用して、絶対サイズで、上下左右に adjustment の量だけ、ペインのサイズを変更します。調整値は行数または列数で表されます(デフォルトは 1 です。-x および -y は、行数または列数として指定することも、パーセンテージとして指定することもできます(例:-x 10%)。-Z を指定すると、アクティブなペインが、ウィンドウ全体を占有するズーム状態と、通常の状態の間で切り替わります。
^ M は、マウスでのサイズ変更を開始します(マウスキーバインディングにバインドされている場合にのみ有効です。詳細は「MOUSE SUPPORT」を参照)。
^ T は、現在のカーソルの位置より下のすべての行を切り捨て、履歴から行を削除して、それらを置き換えます。
^ esize-window [-aADLRU] [-t target-window] [-x width] [-y height] [adjustment]
(エイリアス: resizew)
^ U、-D、-L、または -R を使用して、または -x または -y を使用して、ウィンドウを上下左右に adjustment の量だけ、または絶対サイズでサイズ変更します。調整値は行またはセルの数で表されます(デフォルトは 1 です)。-A は、ウィンドウを含む最大のセッションのサイズを設定します。-a は、最小のセッションのサイズを設定します。このコマンドは、ウィンドウオプションで window-size を手動に自動的に設定します。
^ espawn-pane [-k] [-c start-directory] [-e environment] [-t target-pane] [shell-command [argument ...]]
(エイリアス: respawnp)
コマンドが終了したペインを再アクティブにします(remain-on-exit ウィンドウオプションを参照)。shell-command が指定されていない場合、ペインが作成されたときまたは最後に再起動されたときに使用されたコマンドが実行されます。ペインはすでに非アクティブでなければなりませんが、-k が指定された場合は、既存のコマンドが強制終了されます。-c は、ペインの新しい作業ディレクトリを指定します。-e オプションは、new-window コマンドの場合と同じ意味を持ちます。
^ espawn-window [-k] [-c start-directory] [-e environment] [-t target-window] [shell-command [argument ...]]
(エイリアス: respawnw)
コマンドが終了したウィンドウを再アクティブにします(remain-on-exit ウィンドウオプションを参照)。shell-command が指定されていない場合、ウィンドウが作成されたときまたは最後に再起動されたときに使用されたコマンドが実行されます。ウィンドウはすでに非アクティブでなければなりませんが、-k が指定された場合は、既存のコマンドが強制終了されます。-c は、ウィンドウの新しい作業ディレクトリを指定します。-e オプションは、new-window コマンドの場合と同じ意味を持ちます。
rotate-window [-DUZ] [-t target-window]
(エイリアス: rotatew)
ウィンドウ内のペインの位置を、数値的に下(-U)または上(-Z)に回転させます。-Z は、ウィンドウがズームされていた場合、ズーム状態を維持します。
select-layout [-Enop] [-t target-pane] [layout-name]
(エイリアス: selectl)
特定のレイアウトをウィンドウに選択します。layout-name が指定されていない場合、最後に使用されたプリセットレイアウト(存在する場合)が再適用されます。-n と -p は、それぞれ next-layout コマンドと previous-layout コマンドと同等です。-o は、最後のレイアウト設定を適用します(最新のレイアウト変更を元に戻します)。-E は、現在のペインと隣接するペインを均等に展開します。
select-pane [-DdeLlMmRUZ] [-T title] [-t target-pane]
(エイリアス: selectp)
ペイン target-pane を、そのウィンドウ内のアクティブペインにします。-D、-L、-R、または -U のいずれかが使用された場合、それぞれ target-pane の下、左、右、または上のペインが使用されます。-Z は、ウィンドウがズームされていた場合、ズーム状態を維持します。-l は、last-pane コマンドを使用することと同じです。-e はペインへの入力を有効にし、-d は入力を無効にします。-T はペインのタイトルを設定します。
-m と -M は、それぞれマークされたペインを設定およびクリアするために使用されます。一度に1つのマークされたペインが存在し、新しいマークされたペインを設定すると、最後のマークされたペインはクリアされます。マークされたペインは、-s、move-pane、swap-pane、および swap-window の -s のデフォルトのターゲットです。
select-window [-lnpT] [-t target-window]
(エイリアス: selectw)
ウィンドウ target-window を選択します。-l、-n、および -p は、それぞれ last-window、next-window、および previous-window コマンドと同等です。-T が指定され、選択されたウィンドウがすでに現在のウィンドウである場合、コマンドは last-window と同じように動作します。
split-window [-bdfhIvPZ] [-c start-directory] [-e environment] [-F format] [-l size] [-t target-pane] [shell-command [argument ...]]
(エイリアス: splitw)
target-pane を分割して新しいペインを作成します。-h は水平分割、-v は垂直分割を実行します。どちらも指定されていない場合、-v が想定されます。-l オプションは、新しいペインのサイズを、垂直分割の場合は行数、水平分割の場合は列数で指定します。サイズの後には '%' を付けて、使用可能なスペースの割合を指定できます。-b オプションは、新しいペインを target-pane の左または上に作成します。-f オプションは、アクティブペインを分割する代わりに、ウィンドウ全体の高さ(-h の場合)またはウィンドウ全体の幅(-v の場合)にまたがる新しいペインを作成します。-Z は、ウィンドウがズームされていない場合はズームし、すでにズームされている場合はズーム状態を維持します。
空の shell-command ('') を使用すると、コマンドが実行されていないペインが作成されます。display-message コマンドを使用して、そのようなペインにアウトプットを送信できます。-I フラグ(shell-command が指定されていない場合、または空の場合)は、空のペインを作成し、stdin からのすべての出力をそのペインに転送します。例:
$ make 2>&1|tmux splitw -dI &
他のすべてのオプションは、new-window コマンドと同じ意味を持ちます。
swap-pane [-dDUZ] [-s src-pane] [-t dst-pane]
(エイリアス: swapp)
2つのペインを入れ替えます。-U を使用し、-s でソースペインが指定されていない場合、宛先ペインは前のペイン(数値的に)と入れ替わります。-D は、次のペイン(数値的に)と入れ替えます。-d は、アクティブペインを変更しないように tmux に指示し、-Z は、ウィンドウがズームされていた場合、ズームされた状態を維持します。
-s が省略され、マークされたペインが存在する場合(select-pane -m を参照)、現在のペインではなく、マークされたペインが使用されます。
swap-window [-d] [-s src-window] [-t dst-window]
(エイリアス: swapw)
これは link-window に似ていますが、ソースウィンドウと宛先ウィンドウが入れ替わります。src-window にウィンドウが存在しない場合、エラーになります。-d が指定されている場合、新しいウィンドウは現在のウィンドウになりません。
-s が省略され、マークされたペインが存在する場合、現在のウィンドウではなく、マークされたペインを含むウィンドウが使用されます。
unlink-window [-k] [-t target-window]
(エイリアス: unlinkw)
target-window をリンク解除します。-k が指定されていない限り、ウィンドウは複数のセッションにリンクされている場合にのみリンク解除できます。ウィンドウはセッションにリンクされていない状態であってはなりません。-k が指定され、ウィンドウが 1 つのセッションにのみリンクされている場合、ウィンドウはリンク解除され、破棄されます。
キーバインド
tmux では、ほとんどのキーにコマンドをバインドできます。プレフィックスキーの有無にかかわらずです。キーを指定する場合、ほとんどのキーは文字通りに表現されます(例: 「A」から「Z」)。Ctrl キーは「C-」または「^」で、Shift キーは「S-」で、Alt (メタ) キーは「M-」でプレフィックスを付けることができます。さらに、次の特別なキー名が受け入れられます: Up、Down、Left、Right、BSpace、BTab、DC (Delete)、End、Enter、Escape、F1 から F12、Home、IC (Insert)、NPage/PageDown/PgDn、PPage/PageUp/PgUp、Space、および Tab。引用符「"」または「'」のキーをバインドするには、引用符が必要です。たとえば、次のようにします。
bind-key '"' split-window
bind-key "'" new-window
Any キーにバインドされたコマンドは、より具体的なバインドがないすべてのキーに対して実行されます。
キーバインドに関連するコマンドは次のとおりです。
bind-key [-nr] [-N note] [-T key-table] key [command [argument ...]]
(エイリアス: bind)
キー key をコマンドにバインドします。キーはキーテーブルにバインドされます。デフォルトでは(-T を使用しない場合)、キーはプレフィックスキーテーブルにバインドされます。このテーブルは、プレフィックスキーを押した後(たとえば、デフォルトでは「C-b c」は新しいウィンドウを作成するため、プレフィックステーブルで「c」が new-window にバインドされます)に押されたキーに使用されます。ルートテーブルは、プレフィックスキーを押さずにキーを押した場合に使用されます。ルートテーブルで「c」を new-window にバインドする(推奨されません)場合、プレーンな「c」を押すと新しいウィンドウが作成されます。-n は -T root のエイリアスです。キーはカスタムキーテーブルにもバインドでき、switch-client -T コマンドを使用して、キーバインドからカスタムキーテーブルに切り替えることができます。-r フラグは、このキーを繰り返すことができることを示します。initial-repeat-time および repeat-time オプションを参照してください。-N は、キーに注釈を付けます(list-keys -N で表示されます)。空の文字列を渡すことで、注釈をクリアできます。-r および -N フラグは、コマンドなしで使用して、既存のバインドを変更できます。
デフォルトのバインディングと利用可能なコマンドを表示するには、list-keys コマンドを使用します。
list-keys [-1aN] [-P prefix-string] [-T key-table] [key]
(別名: lsk)
キーバインディングを一覧表示します。2つの形式があります。デフォルトでは、キーを bind-key コマンドとして一覧表示します。-N を指定すると、注釈が付けられているキーのみを一覧表示し、各キーとその注釈のみを表示します。
デフォルトの形式では、すべてのキーテーブルがデフォルトで一覧表示されます。-T を指定すると、指定された key-table 内のキーのみを一覧表示します。
^ N 形式では、デフォルトでルートキーテーブルとプレフィックスキーテーブル内のキーのみが一覧表示されます。-T を指定すると、指定された key-table 内のキーのみを一覧表示します。-P は、各キーの前に表示するプレフィックスを指定します。-1 は、最初に見つかったキーのみを一覧表示します。-a は、注釈のないキーのコマンドも一覧表示します(通常はスキップされます)。
send-keys [-FHKlMRX] [-c target-client] [-N repeat-count] [-t target-pane] [key ...]
(別名: send)
キーをウィンドウまたはクライアントに送信します。各引数 key は、送信するキーの名前(例:C-a または NPage)です。文字列がキーとして認識されない場合、一連の文字として送信されます。-K が指定された場合、キーは target-client に送信されるため、クライアントのキーテーブルで検索されます。すべての引数は、最初から最後に順番に送信されます。キーが指定されず、コマンドがキーにバインドされている場合、そのキーが使用されます。
^ l フラグは、キー名ルックアップを無効にし、キーをリテラルな UTF-8 文字として処理します。
^ H フラグは、各キーが ASCII 文字の 16 進数であることを想定します。
^ R フラグは、ターミナル状態をリセットします。
-M はマウスイベントを通過させます(マウスキーバインディングにバインドされている場合にのみ有効です。詳細は「MOUSE SUPPORT」を参照)。
^ X は、コマンドをコピーモードに送信するために使用されます。詳細は「WINDOWS AND PANES」セクションを参照してください。-N は、繰り返しの回数を指定します。-F は、引数内の書式設定を展開します。
send-prefix [-2] [-t target-pane]
プレフィックスキーをウィンドウに送信し、キーが押されたかのようにします。-2 を指定すると、セカンダリープレフィックスキーを送信します。
unbind-key [-anq] [-T key-table] key
(別名: unbind)
^ ey にバインドされているコマンドを解除します。-n と -T は bind-key と同じです。-a が指定されている場合、すべてのキーバインディングが削除されます。-q オプションは、エラーが返されないようにします。
オプション
tmux の外観と動作は、さまざまなオプションの値を変更することで変更できます。各オプションは、1つまたは複数のスコープ(サーバー、セッション、ウィンドウ、ペイン)に属し、タイプ(文字列、数値、キー、色、フラグ、選択肢、またはコマンド)を持ちます。フラグ型のオプションの値は、1、on、yes、0、off、または no のいずれかです。可能な選択肢の値については、それぞれのオプションを参照してください。キーオプションについては、「KEY BINDINGS」セクションを参照し、カラーオプションについては、「STYLES」セクションを参照してください。
tmux サーバーには、特定のウィンドウまたはセッションまたはペインに適用されない、一連のグローバルサーバーオプションがあります。これらは、set-option -s コマンドで変更するか、show-options -s コマンドで表示します。
さらに、各セッションには、一連のセッションオプションと、別のグローバルセッションオプションがあります。特定のオプションが設定されていないセッションは、グローバルセッションオプションからその値を継承します。セッションオプションは、set-optionコマンドで設定または解除でき、show-optionsコマンドで一覧表示できます。利用可能なサーバーオプションとセッションオプションは、set-optionコマンドの下にリストされています。
同様に、各ウィンドウには一連のウィンドウオプションが添付され、各ペインには一連のペインオプションが添付されます。ペインオプションはウィンドウオプションから継承します。つまり、ペインオプションは、オプションを設定せずにウィンドウオプションとして設定することで、ウィンドウ内のすべてのペインにオプションを適用できます。たとえば、次のコマンドは、ペイン0を除くすべてのペインの背景色を赤に設定します。
set -w window-style bg=red
set -pt:.0 window-style bg=blue
また、すべてのウィンドウオプションまたはペインオプションが継承されるグローバルウィンドウオプションのセットもあります。ウィンドウオプションとペインオプションは、set-option -wおよび-pコマンドで変更され、show-option -wおよび-pで表示されます。
tmuxは、@で始まるユーザーオプションもサポートしています。ユーザーオプションは、@で始まる任意の名前を持つことができ、任意の文字列に設定できます。たとえば、次のとおりです。
$ tmux set -wq @foo "abc123"
$ tmux show -wv @foo
abc123
オプションは、次のコマンドで管理されます。
set-option [-aFgopqsuUw] [-t target-pane] option [value]
(別名: set)
ペインオプションを-p、ウィンドウオプションを-w、サーバーオプションを-sで設定します。それ以外の場合は、セッションオプションを設定します。オプションがユーザーオプションでない場合は、-wまたは-sは不要です。tmuxは、オプション名からスコープを推測し、ペインオプションの場合は-wと想定します。-gが指定されている場合、グローバルセッションまたはウィンドウオプションが設定されます。
^ Fは、オプション値内の形式を拡張します。-uフラグはオプションを解除するため、セッションはグローバルオプションからオプションを継承するか(または-gを使用すると、グローバルオプションをデフォルトに復元します)。-Uはオプションを解除しますが(-uと同じ)、オプションがペインオプションである場合、ウィンドウ内のすべてのペインのオプションも解除します。valueはオプションとその型によって異なり、フラグオプションと選択オプションの場合、値を省略してその値を切り替えることができます(選択オプションは最初の2つの選択肢の間で切り替わります)。
^ oフラグは、すでに設定されているオプションの設定を防ぎ、-qフラグは、不明またはあいまいなオプションに関するエラーを抑制します。
^ aを指定すると、valueが既存の設定に追加されます。たとえば、次のとおりです。
set -g status-left "foo"
set -ag status-left "bar"
これにより、「foobar」になります。そして:
set -g status-style "bg=red"
set -ag status-style "fg=blue"
これにより、赤い背景と青い前景になります。-aがない場合、結果はデフォルトの背景と青い前景になります。
show-options [-AgHpqsvw] [-t target-pane] [option]
(別名: show)
ペインオプションを-p、ウィンドウオプションを-w、サーバーオプションを-sで表示します。それ以外の場合は、セッションオプションを表示します。オプションがユーザーオプションでない場合は、-wまたは-sは不要です。tmuxは、オプション名からスコープを推測し、ペインオプションの場合は-wと想定します。グローバルセッションまたはウィンドウオプションは、-gが使用されている場合にリストされます。-vはオプション名ではなく、オプションの値のみを表示します。-qが設定されている場合、オプションが設定されていない場合にエラーは返されません。-Hはフックを含みます(デフォルトでは省略されます)。-Aは、親のオプションセットから継承されたオプションを含みます。これらのオプションにはアスタリスクが付いています。
利用可能なサーバーオプションは次のとおりです。
backspace key
tmux でバックスペースキーに送信するキーを設定します。
buffer-limit number
バッファーの数を設定します。新しいバッファーがスタックの上部に追加されると、この最大長を維持するために、古いバッファーが下部から削除されます。
command-alias[] name=value
これは、カスタムコマンドのエイリアスの配列です。不明なコマンドが「name」と一致する場合、「value」に置き換えられます。たとえば、次のように設定した場合:
set -s command-alias[100] zoom='resize-pane -Z'
次のように使用します。
zoom -t:.1
これは次のようになります。
resize-pane -Z -t:.1
エイリアスはコマンドが実行されるときにではなく、解析時に展開されることに注意してください。したがって、bind-key でエイリアスをバインドすると、展開された形式がバインドされます。
codepoint-widths[] string
Unicode コードポイントの幅をオーバーライドできる配列オプション。新しい幅はすべてのクライアントに適用されます。各エントリは、「codepoint=width」という形式です。ここで、「codepoint」は UTF-8 文字または、「U+number」という形式の識別子(「number」は 16 進数)にすることができます。
copy-command shell-command
^ opy-pipe コピーモードコマンドが引数なしで使用された場合に、パイプするコマンドを指定します。
default-client-command command
コマンドなしで tmux が呼び出されたときに実行するデフォルトのコマンドを設定します。デフォルトは new-session です。
default-terminal terminal
このセッションで作成された新しいウィンドウのデフォルトのターミナルを設定します。デフォルト値は TERM 環境変数です。tmux が正しく機能するためには、これを「screen」、「tmux」、またはその派生物に設定する必要があります。
escape-time time
tmux がエスケープシーケンスが関数またはメタキーシーケンスの一部であるかどうかを判断するために待機する時間をミリ秒単位で設定します。
editor shell-command
tmux がエディターを実行するときに使用するコマンドを設定します。
exit-empty [on | off]
有効になっている場合(デフォルト)、サーバーはアクティブなセッションがない場合に終了します。
exit-unattached [on | off]
有効になっている場合、サーバーはクライアントがアタッチされていない場合に終了します。
extended-keys [on | off | always]
修飾キー(Control、Meta、または Shift と一緒に押されたキー)がどのように報告されるかを制御します。これは、xterm(1) リソースの modifyOtherKeys に相当します。
^ n に設定されている場合、ペイン内のプログラムは、2 つのモードのいずれかを要求できます。モード 1 は、既存の既知の表現がないキーに対してのみシーケンスを変更します。モード 2 は、すべてのキーに対してシーケンスを変更します。always に設定されている場合、モード 1 とモード 2 はアプリケーションによって要求できますが、モード 1 は標準モードの代わりに強制されます。off に設定されている場合、この機能は無効になり、標準キーのみが報告されます。
tmux は、端末が拡張キーをサポートしている場合、常に拡張キーを要求します。`extkeys` 端末機能、`extended-keys-format` オプション、および `pane_key_mode` 変数も参照してください。
`extended-keys-format` [csi-u | xterm]
アプリケーションに修正されたキーを報告するための、2つの可能な形式のうちのいずれかを選択します。これは、xterm(1) の `formatOtherKeys` リソースと同等です。たとえば、`C-S-a` は、`xterm` に設定されている場合は `'^[ [27;6;65~'` として、`csi-u` に設定されている場合は `'^[65;6u'` として報告されます。
`focus-events` [on | off]
有効になっている場合、端末からフォーカスイベントが要求され、tmux で実行されているアプリケーションに渡されます。このオプションを変更した後は、アタッチされたクライアントをデタッチしてから再度アタッチする必要があります。
`history-file` path
空でない場合、tmux は終了時にコマンドプロンプトの履歴をこのファイルに書き込み、起動時に読み込みます。
`input-buffer-size` bytes
エスケープシーケンスと制御シーケンスで読み込むことができる最大バイト数。この値に達すると、シーケンスは破棄されます。
`message-limit` number
各クライアントでメッセージログに保存するエラーまたは情報メッセージの数を設定します。
`prompt-history-limit` number
各タイプのコマンドプロンプトに対して、履歴ファイルに保存する履歴項目の数を設定します。
`set-clipboard` [on | external | off]
xterm(1) エスケープシーケンスを使用して、端末クリップボードの内容を設定しようとします。これは、`terminfo(5)` の説明に `Ms` エントリがある場合にのみ行われます(「TERMINFO 拡張」セクションを参照)。
`on` に設定すると、tmux はエスケープシーケンスを受け入れてバッファーを作成し、端末クリップボードの設定も試みます。`external` に設定すると、tmux は端末クリップボードの設定を試みますが、アプリケーションが tmux バッファーを設定しようとする試みを無視します。`off` に設定すると、tmux はクリップボードエスケープシーケンスを受け入れず、クリップボードの設定も試みません。
この機能を使用するには、xterm(1) で次のリソースを設定する必要があります。
`disallowedWindowOps: 20,21,SetXprop`
または、必要に応じて xterm(1) のインタラクティブメニューからこのプロパティを変更します。
`terminal-features[]` string
`terminfo(5)` から読み取った端末タイプに対して、端末機能のセットを設定します。tmux には、名前付きの端末機能のセットがあります。それぞれが、使用中の `terminfo(5)` エントリに適切な変更を適用します。
tmux は、いくつかの一般的な端末の機能を検出できます。このオプションを使用して、tmux が検出できない端末でサポートされている機能を簡単に tmux に伝えることができます。`terminal-overrides` オプションを使用すると、個々の `terminfo(5)` 機能を設定できます。`terminal-features` は、標準的な方法でサポートされているが `terminfo(5)` によって報告されない機能のクラスに使用することを目的としています。このオプションを設定するときは、端末が実際にサポートする機能のみを設定するように注意する必要があります。
これは、各エントリがコロンで区切られた文字列で構成される配列オプションです。文字列は、ターミナルタイプパターン(glob(7)パターンを使用して照合)と、ターミナルの機能のリストで構成されます。利用可能な機能は次のとおりです。
256 SGRエスケープシーケンスを使用した256色のサポート。
clipboard
システムクリップボードの設定を可能にします。
ccolour
カーサーの色設定を可能にします。
cstyle
カーサーのスタイル設定を可能にします。
extkeys
拡張キーをサポートします。
focus
フォーカスレポートをサポートします。
hyperlinks
OSC 8ハイパーリンクをサポートします。
ignorefkeys
terminfo(5)のファンクションキーを無視し、tmux内部のセットのみを使用します。
margins
DECSLRMマージンをサポートします。
mouse
xterm(1)マウスシーケンスをサポートします。
osc7
OSC 7ワーキングディレクトリ拡張をサポートします。
overline
SGR属性のオーバーラインをサポートします。
rectfill
DECFRA長方形塗りつぶしエスケープシーケンスをサポートします。
RGB
SGRエスケープシーケンスを使用したRGBカラーをサポートします。
sixel
SIXELグラフィックスをサポートします。
strikethrough
SGRエスケープシーケンスの取り消し線をサポートします。
sync
同期更新をサポートします。
title
xterm(1)のタイトル設定をサポートします。
usstyle
下線のスタイルと色を設定できるようにします。
terminal-overrides[] string
terminfo(5)を使用して読み取ったターミナル記述を上書きできるようにします。各エントリは、ターミナルタイプパターン(glob(7)パターンを使用して照合)と、名前=値のエントリのセットで構成されるコロンで区切られた文字列です。
たとえば、「clear」terminfo(5)エントリを「\e[H\e[2J」に設定し、「rxvt*」に一致するすべてのターミナルタイプに適用するには、次のように設定します。
rxvt*:clear=\e[H\e[2J
ターミナルエントリの値は、解釈する前にstrunvis(3)を介して処理されます。
user-keys[] key
ユーザー定義のキーエスケープシーケンスのリストを設定します。各アイテムは、「User0」、「User1」などの名前のキーに関連付けられます。
たとえば、次のように設定します。
set -s user-keys[0] "\e[5;30012~"
bind User0 resize-pane -L 3
variation-selector-always-wide [on | off]
Unicodeバリエーションセレクター16を常にワイド文字として扱うようにします。これは、一部のターミナルでUnicode 14をサポートするための機能です。
利用可能なセッションオプションは次のとおりです。
activity-action [any | none | current | other]
monitor-activityがオンのときにウィンドウのアクティビティに対して実行するアクションを設定します。anyは、そのセッションにリンクされたウィンドウ内のアクティビティが、現在のウィンドウでベルまたはメッセージ(visual-activityによって異なります)をトリガーすることを意味します。noneは、すべてのアクティビティを無視することを意味します(monitor-activityがオフの場合と同じです)。currentは、現在のウィンドウ以外のウィンドウでのみアクティビティを無視することを意味します。otherは、現在のウィンドウでのアクティビティは無視しますが、他のウィンドウでのアクティビティは無視しないことを意味します。
assume-paste-time ミリ秒
キーが1ミリ秒以内に入力された場合、キーが入力されたのではなく、貼り付けられたと見なされ、tmuxキーバインディングは処理されません。デフォルトは1ミリ秒です。0に設定すると、この機能は無効になります。
base-index インデックス
新しいウィンドウが作成されたときに、未使用のインデックスを検索する開始インデックスを設定します。デフォルトは0です。
^ ell-action [any | none | current | other]
^ onitor-bell がオンになっているときに、ウィンドウ内のベルのアクションを設定します。値は activity-action の値と同じです。
^ efault-command shell-command
新しいウィンドウで使用するコマンド(ウィンドウが作成されたときに指定されていない場合)を、任意の sh(1) コマンドである shell-command に設定します。デフォルトは空の文字列で、これは tmux にデフォルトのシェルを使用してログインシェルを作成するように指示します。
^ efault-shell path
デフォルトのシェルを指定します。これは、default-command オプションが空の文字列に設定されている場合に、新しいウィンドウのログインシェルとして使用され、実行ファイルの絶対パスである必要があります。tmux が起動すると、まず SHELL 環境変数、getpwuid(3) によって返されるシェル、または /bin/sh のいずれかからデフォルト値を設定しようとします。このオプションは、tmux をログインシェルとして使用する場合に設定する必要があります。
^ efault-size XxY
^ indow-size オプションが manual に設定されている場合、または -d オプションを使用してセッションが作成された場合に、新しいウィンドウのデフォルトサイズを設定します。値は、x 文字で区切られた幅と高さです。デフォルトは 80x24 です。
^ estroy-unattached [off | on | keep-last | keep-group]
^ n の場合、最後のクライアントがデタッチされた後にセッションを破棄します。off (デフォルト)の場合、セッションを孤立させます。keep-last の場合、セッションがグループにあり、そのグループに他のセッションがある場合にのみセッションを破棄します。keep-group の場合、セッションがグループにあり、そのグループで唯一のセッションである場合にのみセッションを破棄します。
^ etach-on-destroy [off | on | no-detached | previous | next]
^ n (デフォルト)の場合、クライアントがアタッチされているセッションが破棄されると、クライアントはデタッチされます。off の場合、クライアントは残りのセッションの中で最も最近アクティブだったセッションに切り替わります。no-detached の場合、クライアントはデタッチされたセッションがない場合にのみデタッチされ、デタッチされたセッションがある場合は、クライアントは最も最近アクティブだったセッションに切り替わります。previous または next の場合、クライアントはアルファベット順に前のセッションまたは次のセッションに切り替わります。
^ isplay-panes-active-colour colour
^ isplay-panes コマンドがアクティブなペインのインジケーターを表示するために使用する色を設定します。
^ isplay-panes-colour colour
^ isplay-panes コマンドが非アクティブなペインのインジケーターを表示するために使用する色を設定します。
^ isplay-panes-time time
^ isplay-panes コマンドによって表示されるインジケーターが表示される時間をミリ秒で設定します。
^ isplay-time time
ステータスラインのメッセージやその他の画面上のインジケーターが表示される時間を設定します。0 に設定すると、メッセージとインジケーターはキーが押されるまで表示されます。時間はミリ秒単位です。
^ istory-limit lines
ウィンドウの履歴に保持する最大行数を設定します。この設定は新しいウィンドウにのみ適用され、既存のウィンドウの履歴はサイズ変更されず、作成時に設定された制限が保持されます。
^ nitial-repeat-time time
^ r フラグでキーがバインドされたときの、最初の繰り返しにかかる時間をミリ秒で設定します。これにより、プレフィックスキーをもう一度押さなくても、複数のコマンドを入力できます。repeat-time オプションも参照してください。initial-repeat-time がゼロの場合、最初のキー押しの場合は repeat-time が使用されます。
key-table key-table
デフォルトのキーテーブルを root ではなく key-table に設定します。
lock-after-time 数字
指定された秒数の非アクティブ時間の後にセッションをロックします(lock-session コマンドと同様)。デフォルトではロックしません(0 に設定します)。
lock-command shell-command
各クライアントをロックするときに実行するコマンド。デフォルトでは、-np オプション付きの lock(1) を実行します。
menu-style style
メニューのスタイルを設定します。「スタイル」セクションを参照して、スタイルの指定方法を確認してください。
menu-selected-style style
選択されたメニュー項目のスタイルを設定します。「スタイル」セクションを参照して、スタイルの指定方法を確認してください。
menu-border-style style
メニューのボーダーのスタイルを設定します。「スタイル」セクションを参照して、スタイルの指定方法を確認してください。
menu-border-lines type
メニューのボーダーを描画するために使用される文字のタイプを設定します。popup-border-lines で、border-lines の可能な値を確認できます。
message-command-style style
ステータス行のメッセージコマンドのスタイルを設定します。これは、コマンドモードで vi(1) キーを使用する場合のコマンドプロンプトで使用されます。「スタイル」セクションを参照して、スタイルの指定方法を確認してください。
message-line [0 | 1 | 2 | 3 | 4]
ステータス行のメッセージとコマンドプロンプトを表示する行を設定します。
message-style style
ステータス行のメッセージのスタイルを設定します。これは、メッセージとコマンドプロンプトで使用されます。「スタイル」セクションを参照して、スタイルの指定方法を確認してください。
mouse [on | off]
オンにすると、tmux はマウス入力をキャプチャし、マウスイベントをキーバインドとしてバインドできます。「マウスサポート」セクションを参照して詳細を確認してください。
prefix key
プレフィックスキーとして受け入れるキーを設定します。「キーバインド」セクションで説明されている標準のキーに加えて、prefix を特殊キー 'None' に設定して、プレフィックスを設定しないようにすることもできます。
prefix2 key
2 番目のプレフィックスキーとして受け入れるキーを設定します。prefix と同様に、prefix2 を 'None' に設定することもできます。
prefix-timeout time
プレフィックスキーが入力されてから、tmux がそれを無視するまでの時間をミリ秒で設定します。0 に設定すると、タイムアウトを無効にすることができます。
prompt-cursor-colour colour
コマンドプロンプト内のカーソルの色を設定します。
prompt-cursor-style style
コマンドプロンプト内のカーソルのスタイルを設定します。利用可能なスタイルについては、cursor-style のオプションを参照してください。
renumber-windows [on | off]
オンにすると、セッション内のウィンドウが閉じられたときに、他のウィンドウを自動的に数値順にリナンバーします。これは、base-index オプションが設定されている場合は、その設定を尊重します。オフにすると、ウィンドウはリナンバーされません。
repeat-time time
プレフィックスキーを再度押さなくても、指定された時間(ミリ秒、デフォルトは 500)内に複数のコマンドを入力できるようにします。キーの繰り返しは、bind-key で -r フラグを使用してバインドするときに設定できます。resize-pane コマンドにバインドされているデフォルトのキーの繰り返しが有効になります。initial-repeat-time オプションも参照してください。
set-titles [on | off]
tsl および fsl terminfo(5) エントリが存在する場合は、クライアントターミナルのタイトルを設定しようとします。
ターミナルが xterm(1) のように見える場合、tmux は自動的にこれを \e]0;...\007 シーケンスに設定します。 このオプションはデフォルトでオフになっています。
set-titles-string string
set-titles がオンの場合にクライアントターミナルのタイトルを設定するために使用される文字列。 フォーマットは展開されます。 「FORMATS」セクションを参照してください。
silence-action [any | none | current | other]
monitor-silence がオンのときに、ウィンドウがサイレントになった場合の操作を設定します。 値は、activity-action の値と同じです。
status [off | on | 2 | 3 | 4 | 5]
ステータスラインを表示または非表示にするか、そのサイズを指定します。 on を使用すると、高さ 1 行のステータスラインが表示されます。 2、3、4、または 5 を指定すると、さらに多くの行が表示されます。
status-format[] format
ステータスラインの各行に使用するフォーマットを指定します。 デフォルトでは、個別のステータスオプションから最上位のステータスラインを構築します。
status-interval interval
ステータスラインを interval 秒ごとに更新します。 デフォルトでは、15 秒ごとに更新されます。 0 に設定すると、間隔での再描画が無効になります。
status-justify [left | centre | right | absolute-centre]
ステータスライン内のウィンドウリストの位置を設定します: left、centre、または right。 centre は、ウィンドウリストを利用可能な空きスペースの相対的な中央に配置します。 absolute-centre は、水平方向のスペース全体の中心に配置します。
status-keys [vi | emacs]
vi スタイルまたは emacs スタイルのキーバインドをステータスラインで使用します。たとえば、コマンドプロンプトで使用します。 デフォルトは emacs で、VISUAL または EDITOR 環境変数が設定されていて、その値に文字列「vi」が含まれている場合は、vi になります。
status-left string
ステータスラインの左側に表示する文字列(デフォルトではセッション名)。 string は strftime(3) に渡されます。 「FORMATS」および「STYLES」セクションも参照してください。
#(sysctl vm.loadavg)
#[fg=yellow,bold]#(apm -l)%%#[default] [#S]
デフォルトは「[\#S] 」です。
status-left-length length
ステータスラインの左側のコンポーネントの最大長を設定します。 デフォルトは 10 です。
status-left-style style
ステータスラインの左側のスタイルの設定。「STYLES」セクションを参照して、スタイルを指定する方法を確認してください。
status-position [top | bottom]
ステータスラインの位置を設定します。
status-right string
ステータスラインの右側に表示する文字列。 デフォルトでは、現在のペインのタイトル(二重引用符で囲む)、日付、および時刻が表示されます。 status-left と同様に、string は strftime(3) に渡され、文字ペアが置換されます。
status-right-length length
ステータスラインの右側のコンポーネントの最大長を設定します。 デフォルトは 40 です。
status-right-style style
ステータスラインの右側のスタイルを設定します。「STYLES」セクションを参照して、スタイルを指定する方法を確認してください。
status-style style
ステータスラインのスタイルを設定します。「STYLES」セクションを参照して、スタイルを指定する方法を確認してください。
update-environment[] 変数
新しいセッションが作成されたとき、または既存のセッションがアタッチされたときに、セッション環境にコピーされる環境変数のリストを設定します。ソース環境に存在しない変数は、セッション環境から削除されます(set-environmentコマンドに-rオプションを指定した場合と同じです)。
visual-activity [on | off | both]
^ onitor-activityウィンドウオプションが有効になっているウィンドウでアクティビティが発生した場合、ベル音を送信する代わりにメッセージを表示します。bothに設定すると、ベル音とメッセージの両方を生成します。
visual-bell [on | off | both]
^ onitor-bellウィンドウオプションが有効になっているウィンドウでベル音が鳴る代わりに、メッセージをウィンドウに表示します(通常はターミナルにベル音が送信されます)。bothに設定すると、ベル音とメッセージの両方を生成します。bell-actionオプションも参照してください。
visual-silence [on | off | both]
^ onitor-silenceが有効になっている場合、指定されたウィンドウで間隔が経過した後、ベル音を送信する代わりにメッセージを出力します。bothに設定すると、ベル音とメッセージの両方を生成します。
word-separators 文字列
コピーモードにおける次の単語および前の単語コマンドの目的で、セッションが単語区切り文字として認識する文字を設定します。
利用可能なウィンドウオプションは次のとおりです。
aggressive-resize [on | off]
選択したウィンドウのサイズを積極的に変更します。これは、tmuxがウィンドウのサイズを、ウィンドウが現在のウィンドウであるセッションの最小または最大のサイズに調整することを意味します。ウィンドウは、別のセッションで現在のウィンドウが変更されたときにサイズが変更される場合があります。このオプションは、SIGWINCHをサポートするフルスクリーンプログラムには適していますが、シェルなどのインタラクティブなプログラムには適していません。
automatic-rename [on | off]
自動ウィンドウ名の変更を制御します。この設定が有効になっている場合、tmuxはautomatic-rename-formatで指定された形式を使用してウィンドウの名前を自動的に変更します。このフラグは、new-windowまたはnew-sessionで作成時、または後でrename-windowで名前が指定された場合、またはターミナルエスケープシーケンスで名前が指定された個々のウィンドウに対して自動的に無効になります。グローバルにオフにすることもできます。
set-option -wg automatic-rename off
automatic-rename-format 形式
^ utomatic-renameオプションが有効になっているときに使用される形式(「FORMATS」を参照)。
clock-mode-colour 色
時計の色を設定します。
clock-mode-style [12 | 24 | 12-with-seconds | 24-with-seconds]
時計の時間形式を設定します。
fill-character 文字
ウィンドウで使用されていないターミナルの領域を埋めるために使用する文字を設定します。
main-pane-height 高さ
main-pane-width 幅
^ ain-horizontal、main-horizontal-mirrored、main-vertical、またはmain-vertical-mirroredレイアウトにおける、メイン(左または上)ペインの高さまたは幅を設定します。%で終わる場合、これはウィンドウサイズのパーセントです。
copy-mode-match-style スタイル
コピーモードにおける検索マッチのスタイルを設定します。「STYLES」セクションを参照して、スタイルの指定方法を確認してください。
copy-mode-mark-style スタイル
コピーモードで、マークを含む行のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
copy-mode-current-match-style スタイル
コピーモードで、現在の検索一致のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
copy-mode-position-format フォーマット
コピーモードでの位置表示のフォーマットを設定します。
mode-keys [vi | emacs]
コピーモードで、viまたはemacsスタイルのキーバインドを使用します。デフォルトはemacsで、VISUALまたはEDITORに「vi」が含まれている場合はviが使用されます。
copy-mode-position-style スタイル
コピーモードでの位置表示のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
copy-mode-selection-style スタイル
コピーモードでの選択のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
mode-style スタイル
ウィンドウモードのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
monitor-activity [on | off]
ウィンドウでのアクティビティを監視します。アクティビティのあるウィンドウは、ステータス行で強調表示されます。
monitor-bell [on | off]
ウィンドウでのベル音を監視します。ベル音が鳴ったウィンドウは、ステータス行で強調表示されます。
monitor-silence [間隔]
指定された間隔(秒単位)内にウィンドウでアクティビティがない状態(無音)を監視します。指定された間隔の間、アクティビティがなかったウィンドウは、ステータス行で強調表示されます。間隔を0に設定すると、監視が無効になります。
other-pane-height 高さ
メイン水平およびメイン水平ミラーレイアウトで、メインペイン以外のペインの高さを設定します。このオプションが0(デフォルト)に設定されている場合、効果はありません。メインペインの高さと他のペインの高さの両方を設定した場合、メインペインが他のペインが指定された高さになるように高くなりますが、縮小されることはありません。末尾に「%」を付けると、ウィンドウサイズの割合になります。
other-pane-width 幅
other-pane-heightと同様ですが、メイン垂直およびメイン垂直ミラーレイアウトで他のペインの幅を設定します。
pane-active-border-style スタイル
現在アクティブなペインのペイン境界のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。属性は無視されます。
pane-base-index インデックス
base-indexと同様ですが、ペイン番号の開始インデックスを設定します。
pane-border-format フォーマット
ペイン境界のステータス行に表示するテキストを設定します。
pane-border-indicators [off | colour | arrows | both]
ペインが正確に2つあるウィンドウで、ペイン境界の半分だけを色付けするか、矢印マーカーを表示するか、両方を表示するか、またはどちらも表示しないかによって、アクティブなペインを示します。
pane-border-lines タイプ
ペイン境界を描画するために使用する文字のタイプを設定します。タイプは次のいずれかになります。
single ACSまたはUTF-8文字を使用した単一線
double UTF-8文字を使用した二重線
heavy UTF-8文字を使用した太線
simple 単純なASCII文字
number ペイン番号
spaces スペース文字
「double」と「heavy」は、UTF-8がサポートされていない場合、標準のACS線描画にフォールバックします。
pane-border-status [off | top | bottom]
ペインの境界線のステータスラインをオフにするか、その位置を設定します。
pane-border-style style
アクティブなペイン以外のペインのペイン境界線のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。属性は無視されます。
popup-style style
ポップアップのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。属性は無視されます。
popup-border-style style
ポップアップの境界線のスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。属性は無視されます。
popup-border-lines type
ポップアップ境界線の描画に使用する文字のタイプを設定します。type は、次のいずれかになります。
single ACS または UTF-8 文字を使用した単線(デフォルト)
rounded
UTF-8 文字を使用した丸い角を持つ単線のバリエーション
double UTF-8 文字を使用した二重線
heavy UTF-8 文字を使用した太線
simple 単純な ASCII 文字
padded 単純な ASCII スペース文字
none 境界線なし
'double' および 'heavy' は、UTF-8 がサポートされていない場合に標準の ACS 線描画にフォールバックします。
pane-scrollbars [off | modal | on]
有効にすると、各ペインの左または右に文字ベースのスクロールバーが表示されます。スクロールバーの塗りつぶされた部分(「スライダー」と呼ばれる)は、ペインの内容の表示部分の位置とサイズを表します。
オンに設定すると、スクロールバーは常に表示されます。モーダルに設定すると、スクロールバーはペインがコピーモードまたは表示モードになっている場合にのみ表示されます。スクロールバーが表示されると、ペインはスクロールバーの幅だけ狭くなり、ペイン内のテキストが再配置されます。モーダルに設定すると、スクロールバーが表示される場合にのみペインが狭くなります。
pane-scrollbars-style も参照してください。
pane-scrollbars-style style
スクロールバーのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。前景色はスライダーに使用され、背景色はスクロールバーの残りの部分に使用されます。width 属性はスクロールバーの幅を設定し、pad 属性はスクロールバーとペインの間のパディングを設定します。その他の属性は無視されます。
pane-scrollbars-position [left | right]
ペインのスクロールバーを表示する側の設定を行います。
pane-status-current-style style
現在アクティブなペインのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
pane-status-style style
単一のペインのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
session-status-current-style style
現在アクティブなセッションのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
session-status-style style
単一のセッションのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
tiled-layout-max-columns number
タイル化されたレイアウトの最大列数を設定します。0 (デフォルト) は制限がないことを意味します。制限を設定すると、ペインは指定された列数を超えないように配置され、追加のペインは追加の行に積み重ねられます。
window-status-activity-style スタイル
アクティビティアラートがあるウィンドウのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
window-status-bell-style スタイル
ベルアラートがあるウィンドウのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
window-status-current-format 文字列
window-status-format と同様ですが、現在のウィンドウで使用される形式です。
window-status-current-style スタイル
現在アクティブなウィンドウのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
window-status-format 文字列
ステータスラインのウィンドウリストにウィンドウを表示する形式を設定します。「形式」および「スタイル」セクションを参照してください。
window-status-last-style スタイル
最後にアクティブだったウィンドウのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
window-status-separator 文字列
ステータスライン内のウィンドウ間の区切り文字を設定します。デフォルトは単一のスペース文字です。
window-status-style スタイル
単一のウィンドウのステータスラインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
window-size largest | smallest | manual | latest
tmux がウィンドウサイズを決定する方法を設定します。largest に設定すると、接続されているセッションの中で最大のサイズが使用されます。smallest に設定すると、最小のサイズが使用されます。manual に設定すると、新しいウィンドウのサイズは default-size オプションから設定され、ウィンドウは自動的にサイズ変更されます。latest に設定すると、tmux は最後にアクティビティがあったクライアントのサイズを使用します。 resize-window コマンドと aggressive-resize オプションも参照してください。
wrap-search [on | off]
このオプションを設定すると、検索はペインの内容の末尾まで検索します。デフォルトは on です。
利用可能なペインオプションは次のとおりです。
allow-passthrough [on | off | all]
ペイン内のプログラムが、ターミナルエスケープシーケンス(\ePtmux;...\e\)を使用して tmux をバイパスすることを許可します。on に設定すると、ペインが表示されている場合にのみ、パススルーシーケンスが許可されます。all に設定すると、ペインが非表示の場合でも許可されます。
allow-rename [on | off]
ペイン内のプログラムが、ターミナルエスケープシーケンス(\ek...\e\)を使用してウィンドウの名前を変更することを許可します。
allow-set-title [on | off]
ペイン内のプログラムが、ターミナルエスケープシーケンス(\e]2;...\e\ または \e]0;...\e\)を使用してタイトルを変更することを許可します。
alternate-screen [on | off]
このオプションは、ペイン内で実行されるプログラムが、ターミナル代替スクリーン機能(smcup および rmcup terminfo(5) 機能)を使用できるかどうかを構成します。代替スクリーン機能は、インタラクティブなアプリケーションが開始されたときにウィンドウの内容を保存し、終了時に復元するため、アプリケーションが開始する前に表示されていた出力が、アプリケーションの終了後に変更なしで再表示されます。
cursor-colour 色
カーソルの色を設定します。
cursor-style スタイル
カーソルのスタイルを設定します。利用可能なスタイルは、default、blinking-block、block、blinking-underline、underline、blinking-bar、bar です。
pane-colours[] colour
デフォルトのカラーパレット。配列内の各エントリは、tmuxが指定されたインデックスのカラーを要求したときに使用するカラーを定義します。インデックスは0から255の範囲です。
remain-on-exit [on | off | failed]
このフラグが設定されているペインは、実行中のプログラムが終了しても破棄されません。failedに設定されている場合は、プログラムの終了ステータスがゼロでない場合にのみ破棄されません。ペインは、respawn-paneコマンドで再アクティブ化できます。
remain-on-exit-format string
remain-on-exitが有効になっている場合に、終了したペインの下部に表示するテキストを設定します。
scroll-on-clear [on | off]
画面全体がクリアされ、このオプションがオンになっている場合、画面の内容を履歴にスクロールしてからクリアします。
synchronize-panes [on | off]
このオプションがオンになっている同じウィンドウ内の他のすべてのペインに、入力内容を複製します(モードにないペインのみ)。
window-active-style style
ペインがアクティブなペインであるときに適用するペインスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
window-style style
ペインのスタイルを設定します。スタイルの指定方法については、「スタイル」セクションを参照してください。
フック
tmuxでは、トリガーに応じてコマンドを実行できます。これをフックと呼びます。ほとんどのtmuxコマンドには、afterフックがあり、コマンドに関連しないフックも多数あります。
フックは配列オプションとして保存され、配列のメンバーはフックがトリガーされたときに順番に実行されます。オプションと同様に、フックはグローバルにすることも、セッション、ウィンドウ、またはペインに属することもできます。フックは、set-hookまたはset-optionコマンドで設定し、show-hooksまたはshow-options -Hコマンドで表示できます。次の2つのコマンドは同等です。
set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red'
set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red'
配列インデックスを指定せずにフックを設定すると、フックがクリアされ、配列の最初のメンバーが設定されます。
コマンドが完了した後に、そのコマンドのafterフックが実行されます。ただし、コマンドがフックの一部として実行されている場合は、afterフックは実行されません。たとえば、次のコマンドは、split-windowのたびにeven-verticalレイアウトを選択するフックを追加します。
set-hook -g after-split-window "selectl even-vertical"
コマンドが失敗した場合、command-errorフックがトリガーされます。たとえば、これはログファイルに書き込むために使用できます。
set-hook -g command-error "run-shell \"echo 'a tmux command failed' >>/tmp/log\""
「コントロールモード」セクションにリストされているすべての通知は、引数なしのフックです。%exitは例外です。次の追加のフックが利用可能です。
alert-activity
ウィンドウにアクティビティがあるときに実行されます。monitor-activityを参照してください。
alert-bell
ウィンドウがベルを受信したときに実行されます。monitor-bellを参照してください。
alert-silence
ウィンドウが静止状態になったときに実行されます。monitor-silenceを参照してください。
client-active
クライアントがセッションの最新のアクティブクライアントになったときに実行されます。
client-attached クライアントがアタッチされたときに実行されます。
client-detached クライアントがデタッチされたときに実行されます。
client-focus-in クライアントにフォーカスが入ったときに実行されます。
client-focus-out クライアントからフォーカスが出たときに実行されます。
client-resized クライアントがリサイズされたときに実行されます。
client-session-changed クライアントのアタッチされたセッションが変更されたときに実行されます。
client-light-theme クライアントがライトテーマに切り替わったときに実行されます。
client-dark-theme クライアントがダークテーマに切り替わったときに実行されます。
command-error コマンドが失敗したときに実行されます。
pane-died ペインで実行されているプログラムが終了したが、remain-on-exitがオンになっているため、ペインは閉じません。
pane-exited ペインで実行されているプログラムが終了したときに実行されます。
pane-focus-in フォーカスがペインに入ったときに実行されます(focus-eventsオプションがオンになっている場合)。
pane-focus-out フォーカスがペインから出たときに実行されます(focus-eventsオプションがオンになっている場合)。
pane-set-clipboard ターミナルクリップボードが、xterm(1)エスケープシーケンスを使用して設定されたときに実行されます。
session-created 新しいセッションが作成されたときに実行されます。
session-closed セッションが閉じられたときに実行されます。
session-renamed セッションが名前変更されたときに実行されます。
window-layout-changed ウィンドウレイアウトが変更されたときに実行されます。
window-linked ウィンドウがセッションにリンクされたときに実行されます。
window-renamed ウィンドウが名前変更されたときに実行されます。
window-resized ウィンドウがリサイズされたときに実行されます。これは、client-resizedフックが実行された後になる場合があります。
window-unlinked ウィンドウがセッションからリンク解除されたときに実行されます。
フックは、これらのコマンドで管理されます。
set-hook [-agpRuw] [-t target-pane] hook-name [command]
-Rがない場合、フックhook-nameをコマンドに設定します(-uを使用すると、フックを解除します)。フラグは、set-optionの場合と同じです。
-Rを使用すると、hook-nameをすぐに実行します。
show-hooks [-gpw] [-t target-pane] [hook]
フックを表示します。フラグは、show-optionsの場合と同じです。
MOUSE SUPPORT
mouseオプションがオンになっている場合(デフォルトはオフ)、tmuxではマウスイベントをキーにバインドできます。 各キーの名前は、マウスイベント(‘MouseUp1’など)と場所のサフィックスの組み合わせで構成され、次のいずれかになります。
Pane ペインの内容
Border ペインの境界線
Status ステータスラインのウィンドウリスト
StatusLeft ステータスラインの左側
StatusRight ステータスラインの右側
StatusDefault その他のステータスラインの部分
ScrollbarSlider スクロールバースライダー
ScrollbarUp スクロールバースライダーの上
ScrollbarDown スクロールバースライダーの下
次のマウスイベントが利用可能です。
WheelUp WheelDown
MouseDown1 MouseUp1 MouseDrag1 MouseDragEnd1
MouseDown2 MouseUp2 MouseDrag2 MouseDragEnd2
MouseDown3 MouseUp3 MouseDrag3 MouseDragEnd3
SecondClick1 SecondClick2 SecondClick3
DoubleClick1 DoubleClick2 DoubleClick3
TripleClick1 TripleClick2 TripleClick3
‘SecondClick’イベントは、ダブルクリックの2回目のクリックで発生し、3回目のクリックがある場合は‘TripleClick’が発生し、‘DoubleClick’は発生しません。
それぞれに、場所をサフィックスとして付加します。例:「MouseDown1Status」。
特殊なトークン「{mouse}」または「=」は、マウスキーバインディングにバインドされたコマンドのターゲットウィンドウまたはターゲットペインとして使用できます。これらは、マウスイベントが発生したウィンドウまたはペインに解決されます(たとえば、ステータス行のウィンドウでボタン1がリリースされた場合の「MouseUp1Status」バインディング、またはホイールがスクロールされたペインの「WheelDownPane」バインディング)。
^ end-keys -Mフラグを使用して、マウスイベントをペインに転送できます。
デフォルトのキーバインディングでは、マウスを使用してペインを選択およびサイズ変更したり、テキストをコピーしたり、ステータス行を使用してウィンドウを変更したりできます。これらは、マウスオプションが有効になっている場合に有効になります。
フォーマット
特定のコマンドは、`-F`フラグとフォーマット引数を受け入れます。これは、コマンドの出力フォーマットを制御する文字列です。フォーマット変数は、「#{」と「}」で囲まれます。例:「#{session_name}」。可能な変数は以下の表にリストされています。または、tmuxオプションの名前を使用して、オプションの値、または環境変数の名前を使用できます。一部の変数には、短いエイリアスがあります。たとえば、「#S」、「##」は単一の「#」に置き換えられ、「#,」は「,」に置き換えられ、「#}」は「}」に置き換えられます。
条件文は、「?」をプレフィックスとして使用して使用できます。2つの引数のペアごとに、最初のペアの変数が存在し、ゼロでない場合、2番目のペアが選択されます。それ以外の場合は、続行されます。一致する条件がない場合、デフォルト値が選択されます。ペアになっていない最後の引数がある場合、それがデフォルトになります。そうでない場合、デフォルトは空の文字列になります。たとえば、「#{?session_attached,attached,not attached}」は、セッションがアタッチされている場合は文字列「attached」を含み、アタッチされていない場合は文字列「not attached」を含みます。また、「#{?automatic-rename,yes,no}」は、automatic-renameが有効になっている場合は「yes」を含み、そうでない場合は「no」を含みます。「#{?#{n:window_name},#{window_name} - }」は、ウィンドウ名が存在する場合はウィンドウ名とハイフン区切り記号を含み、ウィンドウ名が空の場合は空の文字列を含みます。「#{?session_format,format1,window_format,format2,format3}」は、セッションフォーマットの場合はformat1、ウィンドウフォーマットの場合はformat2、またはそれらのいずれでもない場合はformat3を含みます。条件文は、任意の深さでネストできます。条件文内では、「,」と「}」は、「#,’と「#}」としてエスケープする必要があります。ただし、それらが「#{...}」置換の一部である場合は例外です。例:
#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W
文字列の比較は、2つのカンマで区切られた代替案の前に、「==」、「!=」、「<」、「>」、「<=」、または「>=」とコロンを付けて表現できます。たとえば、「#{==:#{host},myhost}」は、myhostで実行されている場合に「1」に置き換えられ、そうでない場合は「0」に置き換えられます。「||」と「&&」は、カンマで区切られた代替案のいずれかが真であるか、すべてが真である場合に、それぞれ真と評価されます。例:「#{||:#{pane_in_mode},#{alternate_on}}」。「!」は、値が偽の場合に真と評価され、その逆も真です。例:「#{!:#{pane_in_mode}}」。「!!」は、値を正規のブール値形式に変換します。真の場合は1、偽の場合は0です。例:「#{!!:non-empty string}」は1と評価されます。
‘m’ は、glob(7) パターンまたは正規表現による比較を指定します。最初の引数はパターン、2 番目の引数は比較する文字列です。オプションの引数として、フラグを指定できます。‘r’ はパターンが正規表現ではなく、デフォルトの glob(7) パターンであることを意味し、‘i’ は大文字と小文字を区別しないことを意味します。例: ‘#{m:*foo*,#{host}}’ または ‘#{m/ri:^A,MYVAR}’。‘C’ は、glob(7) パターンまたは正規表現をペインの内容内で検索し、見つからない場合は 0、見つかった場合は行番号を返します。‘m’ と同様に、‘r’ フラグは正規表現で検索することを意味し、‘i’ は大文字と小文字を区別しません。例: ‘#{C/r:^Start}’。
数値演算子は、2 つのカンマで区切られた代替値の前に ‘e’ と演算子を付けて実行できます。オプションで、‘f’ フラグを付けて浮動小数点数を使用するかどうかを指定できます。それ以外の場合は、整数が使用されます。これに、結果に使用する小数点以下の桁数を指定する数値が続きます。使用可能な演算子は、加算 ‘+’、減算 ‘-’、乗算 ‘*’、除算 ‘/’、剰余 ‘m’ または ‘%’ (ただし、‘%’ は strftime(3) によって拡張される形式では ‘%%’ としてエスケープする必要があります) および数値比較演算子 ‘==’、‘!=’、‘<’、‘<=’、‘>’、および ‘>=’ です。例: ‘#{e|*|f|4:5.5,3}’ は、5.5 に 3 を掛けて、小数点以下 4 桁の結果を返します。‘#{e|%%:7,3}’ は、7 と 3 の剰余を返します。‘a’ は、数値の引数をその ASCII 相当物に置き換えます。したがって、‘#{a:98}’ は ‘b’ を返します。‘c’ は、tmux カラーを 6 桁の 16 進数の RGB 値に置き換えます。
結果の文字列の長さに制限を設けるには、‘=’、数値、およびコロンを先頭に付けます。正の数は文字列の先頭から数え、負の数は末尾から数えます。したがって、‘#{=5:pane_title}’ は、ペインのタイトルの最初の 5 文字を含み、‘#{=-5:pane_title}’ は最後の 5 文字を含みます。サフィックスまたはプレフィックスを 2 番目の引数として指定することもできます。指定された場合、文字列が切り捨てられた場合は、サフィックスまたはプレフィックスが文字列の末尾または先頭に追加されます。たとえば、‘\#{=/5/...:pane_title}’ は、ペインのタイトルが 5 文字を超える場合に ‘...’ を追加します。同様に、‘p’ は文字列を指定された幅にパディングします。たとえば、‘\#{p10:pane_title}’ は、少なくとも 10 文字の幅になるようにします。正の幅は左側にパディングし、負の幅は右側にパディングします。‘n’ は変数の長さに拡張され、‘w’ は表示されるときの幅に拡張されます。たとえば、‘#{n:window_name}’ です。‘R’ は、最初の引数を 2 番目の引数で指定された回数だけ繰り返します。したがって、‘#{R:a,3}’ は ‘aaa’ を返します。
時間変数の前に「t:」を付けると、文字列に変換されます。たとえば、「\#{window_activity}」は「1445765102」を返し、「\#{t:window_activity}」は「Sun Oct 25 09:25:02 2015」を返します。さらに「p(`t/p`)」を追加すると、過去の時刻に対して、より短く、精度が低い時間形式が使用されます。カスタム形式は、「f」サフィックスを使用して指定できます(「\%」は、たとえば status-left オプションで strftime(3) を介して個別に渡される場合、エスケープして「\%」にする必要があります)。例:「\#{t/f/%%H#:%%M:window_activity}」、strftime(3) を参照してください。
「b:」と「d:」のプレフィックスは、それぞれ basename(3) および dirname(3) の変数です。「q:」は、sh(1) の特殊文字をエスケープするか、または「h」サフィックスを使用して、ハッシュ文字をエスケープします(したがって、「#」は「##」になります)。「E:」は、フォーマットを2回展開します。たとえば、「#{E:status-left}」は、status-left オプション自体の結果ではなく、status-left オプションの内容を展開した結果になります。「T:」は「E:」と似ていますが、strftime(3) の指定子も展開します。「S:」、「W:」、「P:」、または「L:」は、各セッション、ウィンドウ、ペイン、またはクライアントをループし、各要素に対してフォーマットを一度挿入します。「L:」、「S:」、「W:」は、オプションのソート引数「/i」、「/n」、「/t」を受け取り、それぞれインデックス、名前、または最終アクティビティ時間でソートできます。さらに、「/r」を使用してソート順を逆にすることもできます。「/r」は、「P:」のソート順をペインインデックスで反転させるためにも使用できます。たとえば、「S/nr:」は、セッションを名前で降順にソートします。それぞれの場合、2つのカンマ区切りのフォーマットを指定できます。2番目のフォーマットは、現在のウィンドウ、アクティブなペイン、またはアクティブなセッションに使用されます。たとえば、ステータス行のようにフォーマットされたウィンドウのリストを取得するには、次のようになります。
#{W:#{E:window-status-format} ,#{E:window-status-current-format} }
「N:」は、ウィンドウ(サフィックスなし、または「w」サフィックス付き)またはセッション(「s」サフィックス付き)の名前が存在するかどうかをチェックします。たとえば、「N/w:foo」は、名前が「foo」のウィンドウが存在する場合に1に置き換えられます。
「s/foo/bar/:」という形式のプレフィックスは、全体を通して「foo」を「bar」に置換します。最初の引数は拡張正規表現にすることができ、最後の引数は「i」にして大文字と小文字を区別しないようにすることができます。たとえば、「s/a(.)/\1x/i:」は、「abABab」を「bxBxbx」に変更します。別の区切り文字を使用することもできます。これにより、パターン内のリテラルスラッシュとの衝突を回避できます。たとえば、「s|foo/|bar/|:」は、「foo/」を「bar/」に置換します。
複数の修飾子はセミコロン(;)で区切ることができます。例:「#{T;=10:status-left}」は、結果として得られる strftime(3) で拡張された文字列の長さを最大10文字に制限します。
さらに、シェルのコマンドの出力の最後の行を #( ) を使用して挿入できます。たとえば、#(uptime) は、システムの稼働時間を挿入します。書式を作成する際、tmux は #( ) コマンドの完了を待機しません。代わりに、同じコマンドを以前に実行した結果を使用するか、コマンドが以前に実行されていない場合はプレースホルダーを使用します。コマンドが終了していない場合、最も最近の出力の行が使用されますが、ステータスラインは 1 秒に 1 回以上更新されません。コマンドは /bin/sh を使用して実行され、tmux のグローバル環境が設定されます(「グローバル環境とセッション環境」セクションを参照)。
`l` は、文字列がリテラルとして解釈され、拡張されないことを指定します。たとえば、`#{l:#{?pane_in_mode,yes,no}}` は、`#{?pane_in_mode,yes,no}` に置き換えられます。
利用可能な変数は次のとおりです(該当する場合)。
変数名 エイリアス 置き換えられるもの
`active_window_index` セッション内のアクティブなウィンドウのインデックス
`alternate_on` ペインが代替画面にある場合、1
`alternate_saved_x` 代替画面で保存されたカーソル X
`alternate_saved_y` 代替画面で保存されたカーソル Y
`buffer_created` バッファーが作成された時間
`buffer_full` 完全なバッファーの内容
`buffer_name` バッファーの名前
`buffer_sample` バッファーの開始部分のサンプル
`buffer_size` 指定されたバッファーのサイズ(バイト単位)
`client_activity` クライアントが最後にアクティブになった時間
`client_cell_height` クライアントセルの高さ(ピクセル単位)
`client_cell_width` クライアントセルの幅(ピクセル単位)
`client_control_mode` クライアントが制御モードの場合、1
`client_created` クライアントが作成された時間
`client_flags` クライアントフラグ。# は ## としてエスケープ
`client_format` クライアントの形式の場合、1
`client_height` クライアントの高さ
`client_id` 一意のクライアント ID
`client_index` クライアントのインデックス
`client_last_flag` クライアントが最後に使用された場合、1
`client_name` クライアントの名前
`client_width` クライアントの幅
`hostname` ホスト名
`last_status` 最後のステータス
`login_name` ログイン名
`major_version` 主要バージョン
`minor_version` マイナーバージョン
`network_port` ネットワークポート
`os_name` OSの名前
`pane_active` ペインがアクティブな場合、1
`pane_active_clients` このペインをビューしているクライアントの数
`pane_active_clients_list` このペインをビューしているクライアントのリスト
`pane_active_sessions` このペインがアクティブになっているセッションの数
`pane_active_sessions_list` このペインがアクティブになっているセッションのリスト
`pane_bell` ペインにベルがある場合、1
`pane_border_format` ペインの境界線の形式
`pane_bottom` ペインの下端
`pane_changed` ペインが変更された場合、1
`pane_command` ペインのコマンド
`pane_current_directory` ペインの現在のディレクトリ
`pane_flags` ペインフラグ。# は ## としてエスケープ
`pane_format` ペインの形式の場合、1
`pane_height` ペインの高さ
`pane_id` 一意のペイン ID
`pane_index` ペインのインデックス
`pane_left` ペインの左端
`pane_linked` ペインがリンクされている場合、1
`pane_linked_sessions` ペインがリンクされているセッションの数
`pane_linked_sessions_list` ペインがリンクされているセッションのリスト
`pane_name` ペインの名前
`pane_network_port` ペインのネットワークポート
`pane_prefix` ペインのプレフィックス
`pane_raw_flags` ペインフラグ。何もエスケープされない
`pane_refresh` ペインが更新された場合、1
`pane_right` ペインの右端
`pane_status` ペインのステータス
`pane_title` ペインのタイトル
`pane_top` ペインの上端
`pane_width` ペインの幅
`server_name` サーバーの名前
`server_version` サーバーのバージョン
`session_height` セッションの高さ
`session_id` 一意のセッション ID
`session_index` セッションのインデックス
`session_name` セッションの名前
`session_prefix` セッションのプレフィックス
`session_width` セッションの幅
`socket_path` ソケットのパス
`status_flags` ステータスのフラグ
`status_left` ステータスの左端
`status_major_version` ステータスの主要バージョン
`status_minor_version` ステータスのマイナーバージョン
`status_network_port` ステータスのネットワークポート
`status_path` ステータスのパス
`status_prefix` ステータスのプレフィックス
`status_right` ステータスの右端
`status_utf8` ステータスが UTF-8 の場合、1
`style` スタイル
`supports_resize` リサイズをサポートする場合、1
`supports_detach` デタッチをサポートする場合、1
`terminal_bell` 端末にベルがある場合、1
`term_name` ターミナルの名前
`version` バージョン
`window_id` ウィンドウ ID
`window_name` ウィンドウの名前
使用方法:
`${variable_name}`: 変数の値を展開します。
例:
echo "ホスト名は ${hostname} です"
このコードは、${hostname} 変数の値を展開し、「ホスト名は <hostname の値> です」という文字列を出力します。
上記変数は、環境変数として設定できます。 上記変数は、シェルスクリプトで使用できます。 上記変数は、プログラムで使用できます。 上記変数は、設定ファイルで使用できます。
注意:
- 上記の変数は、環境によって異なる場合があります。
- 上記の変数は、すべて文字列です。
- 上記の変数は、大文字と小文字が区別されます。
- 上記変数の値は、空である可能性があります。
上記は、利用可能なすべての環境変数の完全なリストです。
補足:
- 上記リストは、完全なリストではありません。利用可能な変数は、環境によって異なる場合があります。
- 上記の変数は、環境変数として設定できます。環境変数は、シェルセッション全体で利用できるグローバル変数です。環境変数は、
exportコマンドを使用して設定できます。 - 上記の変数は、シェルスクリプトで使用できます。シェルスクリプトは、一連のコマンドを自動化するために使用されるテキストファイルです。シェルスクリプトは、
bash、sh、zshなどのシェルを使用して実行できます。 - 上記の変数は、プログラムで使用できます。プログラムは、コンピュータ上で実行される一連の命令です。プログラムは、
C、C++、Java、Pythonなどのプログラミング言語を使用して記述できます。 - 上記の変数は、設定ファイルで使用できます。設定ファイルは、プログラムまたはシステムの動作を制御するために使用されるテキストファイルです。設定ファイルは、
ini、xml、jsonなどのさまざまな形式で記述できます。
スタイル
tmux は、ステータスラインの `status-style` など、インターフェースのさまざまな要素の色や属性を指定するためのさまざまなオプションを提供します。さらに、`status-left` などのフォーマットオプションで、`#[` と `]` で囲むことで、埋め込みスタイルを指定できます。
スタイルは、単一の用語 `default` を指定して、デフォルトのスタイル(オプション、たとえばステータスラインの `status-style` から取得されるもの)を指定するか、スペースまたはカンマで区切られた次のリストを指定できます。
`fg=色`
前景色を設定します。色は、`black`、`red`、`green`、`yellow`、`blue`、`magenta`、`cyan`、`white` のいずれかです。サポートされている場合は、明るいバリアントの `brightblack`、`brightred` なども使用できます。また、`colour0` から `colour255` までの 256 色セット、`default` はデフォルトの色、`terminal` はターミナルのデフォルトの色、または `#ffffff` のような 16 進数の RGB 文字列も使用できます。
bg=color
背景色を設定します。
us=color
下線の色を設定します。
none
属性をすべて解除します(アクティブな属性をオフにします)。
acs、bright(またはbold)、dim、underscore、blink、reverse、hidden、italics、overline、strikethrough、
double-underscore、curly-underscore、dotted-underscore、dashed-underscore
属性を設定します。これらの属性のいずれかに「no」をプレフィックスとして付加すると、属性を解除できます。acsは、 ターミナルの代替文字セットです。
align=left(またはnoalign)、align=center、align=right
テキストを、利用可能なスペースの左、中央、または右に配置します(該当する場合)。
fill=color
利用可能なスペースを、背景色で塗りつぶします(該当する場合)。
list=on、list=focus、list=left-marker、list=right-marker、nolist
ステータス形式オプションで、さまざまなウィンドウリストコンポーネントの位置を示します。 list=onは、リストの開始を示します。list=focusは、リスト全体が利用可能なスペースに収まらない場合に、 フォーカスを維持する必要があるリストの一部(通常は現在のウィンドウ)を示します。list=left-markerと list=right-markerは、スペースが不足している場合に、テキストが左または右からトリミングされたことを示すために使用するテキストを示します。
noattr
デフォルトのスタイルから属性をコピーしません。
push-default、pop-default
現在の色と属性をデフォルトとして保存するか、以前のデフォルトをリセットします。 push-defaultは、デフォルトのターミナル設定のその後のすべての使用に影響します。一度に1つのデフォルトのみをプッシュできます(各push-defaultは、以前に保存されたデフォルトを置き換えます)。
range=left、range=right、range=session|X、range=window|X、range=pane|X、range=user|X、norange
ステータス形式オプションで、範囲をマークします。マウスイベントがrange=leftまたはrange=rightの範囲で発生すると、 「StatusLeft」および「StatusRight」キーバインディングがトリガーされます。
range=session|X、range=window|X、およびrange=pane|Xは、セッション、ウィンドウ、またはペインの範囲です。これらは、「Status」マウスキーを、引数「X」で指定されたターゲットセッション、ウィンドウ、またはペインでトリガーします。「X」は、セッションID、現在のセッション内のウィンドウインデックス、またはペインIDです。これらの場合、mouse_status_range形式変数は、「session」、「window」、または「pane」に設定されます。
range=user|Xは、ユーザー定義の範囲です。これによって「Status」マウスキーがトリガーされます。引数「X」は、mouse_status_range形式変数で利用できます。「X」は、最大15バイトである必要があります。
set-default
現在の色と属性をデフォルトとして設定し、以前のデフォルトを上書きします。以前のデフォルトは復元できません。
例:
fg=yellow bold underscore blink
bg=black,fg=default,noreverse
名前とタイトル
tmuxは、名前とタイトルを区別します。ウィンドウとセッションには名前があり、これらはターゲットを指定するために使用され、ステータス行やさまざまなリストに表示されます。名前は、ウィンドウまたはセッションのtmux識別子です。ペインにはタイトルがあります。ペインのタイトルは、通常、ペイン内で実行されているプログラムによってエスケープシーケンスを使用して設定されます(X(7)でXターミナルのウィンドウタイトルを設定する場合と同様)。ウィンドウ自体にはタイトルはありません。ウィンドウのタイトルは、そのアクティブなペインのタイトルです。tmux自体は、クライアントが実行されているターミナルのタイトルを設定できます。set-titlesオプションを参照してください。
セッション名は、new-session および rename-session コマンドを使用して設定されます。ウィンドウ名は、次のいずれかの方法で設定されます。
コマンド引数(例:new-window または new-session の -n オプション)。
エスケープシーケンス(allow-rename オプションが有効になっている場合):
$ printf '\033kWINDOW_NAME\033\\'
自動リネーム。これは、ウィンドウのアクティブなペインで実行されているコマンドを名前に設定します。automatic-rename オプションを参照してください。
ペインが最初に作成されるとき、そのタイトルはホスト名になります。ペインのタイトルは、title 設定エスケープシーケンスを使用して設定できます。例:
$ printf '\033]2;My Title\033\\'
また、select-pane -T コマンドを使用して変更することもできます。
グローバルおよびセッション環境
サーバーが起動すると、tmux は環境変数をグローバル環境にコピーします。さらに、各セッションにはセッション環境があります。ウィンドウが作成されると、セッション環境とグローバル環境がマージされます。両方に同じ変数が存在する場合、セッション環境の値が使用されます。その結果、新しいプロセスに渡される初期環境が生成されます。
^ pdate-environment セッションオプションを使用すると、新しいセッションが作成されたとき、または古いセッションに再接続されたときに、クライアントからセッション環境を更新できます。tmux は、内部情報を含む TMUX 変数を初期化し、コマンドが内部から実行できるようにします。また、TERM 変数を、ターミナルの正しい設定である screen に設定します。
セッション環境とグローバル環境の両方で、変数を非表示としてマークできます。非表示の変数は、新しいプロセスの環境に渡されず、tmux 自体でのみ使用できます(例:フォーマットを参照)。
環境を変更および表示するためのコマンドは次のとおりです。
set-environment [-Fhgru] [-t target-session] variable [value]
(エイリアス: setenv)
環境変数を設定または削除します。-g を使用した場合、変更はグローバル環境に適用されます。それ以外の場合、変更は target-session のセッション環境に適用されます。-F が存在する場合、value はフォーマットとして展開されます。-u フラグは、変数を削除します。-r は、新しいプロセスを開始する前に、変数を環境から削除することを示します。-h は、変数を非表示としてマークします。
show-environment [-hgs] [-t target-session] [variable]
(エイリアス: showenv)
^ arget-session またはグローバル環境の環境を表示します。variable が省略された場合、すべての変数が表示されます。環境から削除された変数は、「-」で接頭辞が付けられます。-s を使用した場合、出力は一連の Bourne シェルコマンドとしてフォーマットされます。-h は、非表示の変数(デフォルトでは省略されます)を表示します。
ステータスライン
tmux には、オプションのステータスラインが含まれており、各ターミナルの最下部に表示されます。
デフォルトでは、ステータスラインは有効になっており、高さは1行です(status-session オプションを使用して無効にしたり、複数行にしたりできます)。ステータスラインには、左から右へ、現在のセッション名(角かっこで囲む)、ウィンドウリスト、アクティブなペインのタイトル(二重引用符で囲む)、時間と日付が含まれます。
ステータスラインの各行は、status-format オプションで設定されます。デフォルトは、以下の3つの部分で構成されています。設定可能な左側と右側のセクション(時間やシェルコマンドの出力など、動的なコンテンツを含めることができます。status-left、status-left-length、status-right、およびstatus-right-length オプションを参照してください)、および中央のウィンドウリストです。デフォルトでは、ウィンドウリストには、現在のセッション内のウィンドウのインデックス、名前、および(存在する場合)フラグが、昇順の数値で表示されます。window-status-format および window-status-current-format オプションでカスタマイズできます。フラグは、ウィンドウ名の末尾に追加される以下の記号のいずれかです。
記号 意味 * 現在のウィンドウを示します。 - 最後に選択されたウィンドウを示します。 # ウィンドウのアクティビティが監視されており、アクティビティが検出された。 ! ウィンドウのベルが監視されており、ウィンドウでベルが発生した。 ~ ウィンドウは、monitor-silence 間隔の間、静止していました。 M ウィンドウには、マークされたペインが含まれています。 Z ウィンドウのアクティブなペインがズームされています。
# 記号は、monitor-activity ウィンドウオプションに関連します。ウィンドウにアラート(ベル、アクティビティ、または沈黙)がある場合、ウィンドウ名は反転色で表示されます。
ステータスラインの色と属性は、status-style セッションオプションを使用してステータスライン全体、および window-status-style ウィンドウオプションを使用して個々のウィンドウを設定できます。
ステータスラインは、変更された場合、一定の間隔で自動的に更新されます。この間隔は、status-interval セッションオプションで制御できます。
ステータスラインに関連するコマンドは、次のとおりです。
clear-prompt-history [-T prompt-type]
(エイリアス: clearphist)
prompt-type で指定されたプロンプトタイプのステータスプロンプト履歴をクリアします。-T が省略された場合、すべてのタイプの履歴をクリアします。command-prompt の可能な prompt-type の値については、command-prompt を参照してください。
command-prompt [-1bFiklN] [-I inputs] [-p prompts] [-t target-client] [-T prompt-type] [template]
クライアントでコマンドプロンプトを開きます。これは、tmux 内から対話的にコマンドを実行するために使用できます。
template が指定されている場合、これはコマンドとして使用されます。-F を使用すると、template はフォーマットとして展開されます。
-I が存在する場合、inputs は、各プロンプトの初期テキストのカンマ区切りのリストです。-p が与えられた場合、prompts は、順番に表示されるカンマ区切りのプロンプトのリストです。そうでない場合は、1つのプロンプトが表示され、template が存在する場合は template から、そうでない場合は「:」から構築されます。-l は、カンマでの inputs および prompts の分割を無効にし、リテラルとして扱います。
コマンドが実行される前に、最初に現れる文字列「%%」とすべての「%1」が、最初のプロンプトへの応答で置き換えられ、すべての「%2」が2番目のプロンプトへの応答で置き換えられ、以降のプロンプトに対しても同様に置き換えが行われます。最大9個までのプロンプト応答を置き換えることができます(「%1」から「%9」)。「%%%」は「%%」と同様ですが、引用符はエスケープされます。
-1は、プロンプトが1回のキー押下のみを受け付けるようにします。この場合、結果として得られる入力は単一の文字になります。-kは-1と同様ですが、キー押下はキー名に変換されます。-Nは、プロンプトが数値キー押下のみを受け付けるようにします。-iは、ユーザーがプロンプトから離れるときではなく、プロンプトへの入力が変更されるたびにコマンドを実行します。
-Tは、tmuxにプロンプトの種類を伝えます。これは、Tabキーを押したときに提供される補完に影響します。利用可能なタイプは、「command」、「search」、「target」、および「window-target」です。
次のキーは、`status-keys`オプションの値に応じて、コマンドプロンプトで特別な意味を持ちます。
機能 vi emacs
コマンドプロンプトをキャンセル q Escape
カーソルから単語の先頭までを削除 C-w
コマンド全体を削除 d C-u
カーソルから最後までを削除 D C-k
コマンドを実行 Enter Enter
履歴から次のコマンドを取得 Down
履歴から前のコマンドを取得 Up
最上位の貼り付けバッファを挿入 p C-y
補完を検索 Tab Tab
カーソルを左に移動 h Left
カーソルを右に移動 l Right
カーソルを最後に移動 $ C-e
カーソルを次の単語に移動 w M-f
カーソルを前の単語に移動 b M-b
カーソルを先頭に移動 0 C-a
文字を入れ替える C-t
-bを使用すると、プロンプトはバックグラウンドで表示され、呼び出し元のクライアントはプロンプトが破棄されるまで終了しません。
`confirm-before [-by] [-c confirm-key] [-p prompt] [-t target-client] command`
(エイリアス: `confirm`)
コマンドを実行する前に確認を求めます。-pが指定されている場合、プロンプトは表示するプロンプトです。そうでない場合は、コマンドからプロンプトが構築されます。`status-left`オプションでサポートされている特殊文字を含めることができます。-bを使用すると、プロンプトはバックグラウンドで表示され、呼び出し元のクライアントはプロンプトが破棄されるまで終了しません。-yは、プロンプトのデフォルトの動作(Enterキーのみを押した場合)を、コマンドを実行するように変更します。-cは、確認キーを`confirm-key`に変更します。デフォルトは「y」です。
`display-menu [-OM] [-b border-lines] [-c target-client] [-C starting-choice] [-H selected-style]`
`[-s style] [-S border-style] [-t target-pane] [-T title] [-x position] [-y position] name`
`key command [name key command ...]`
(エイリアス: `menu`)
ターゲットクライアントにメニューを表示します。`target-pane`は、メニューから実行されるコマンドのターゲットを指定します。
メニューは、一連の引数として渡されます。最初にメニュー項目名、次にキーボードショートカット(またはショートカットがない場合は空)、そして最後にメニュー項目が選択されたときに実行するコマンドです。名前とコマンドは、セクションを参照してください。名前がハイフン (-) で始まる場合、その項目は無効化され(薄暗く表示され)、選択できません。名前が空の場合、それは区切り線となり、その場合はキーとコマンドの両方を省略する必要があります。
-b は、メニューの境界線を描画するために使用される文字のタイプを設定します。[popup-border-lines](https://example.com/popup-border-lines) で、[border-lines](https://example.com/border-lines) の可能な値を確認してください。
-H は、選択されたメニュー項目のスタイルを設定します([STYLES](https://example.com/styles)を参照)。
-s は、メニューのスタイルを設定し、-S は、メニューの境界線のスタイルを設定します([STYLES](https://example.com/styles)を参照)。
-T は、メニューのタイトルに使用するフォーマットです([FORMATS](https://example.com/formats)を参照)。
-C は、メニューがマウスキーバインディングにバインドされていない場合、デフォルトで選択されるメニュー項目を設定します。
-x と -y は、メニューの位置を指定します。どちらも行番号または列番号を指定するか、次の特殊な値のいずれかを指定できます。
値 フラグ 意味
C 両方 ターミナルの中心
R -x ターミナルの右側
P 両方 ペインの左下
M 両方 マウスの位置
W 両方 ステータスライン上のウィンドウの位置
S -y ステータスラインの上または下の行
または、次の追加の変数が含まれるように展開されるフォーマットです。
変数名 置換される値
popup_centre_x クライアントの中心
popup_centre_y クライアントの中心
popup_height メニューまたはポップアップの高さ
popup_mouse_bottom マウスの下端
popup_mouse_centre_x マウスでの水平方向の中心
popup_mouse_centre_y マウスでの垂直方向の中心
popup_mouse_top マウスの上端
popup_mouse_x マウスのX座標
popup_mouse_y マウスのY座標
popup_pane_bottom ペインの下端
popup_pane_left ペインの左端
popup_pane_right ペインの右端
popup_pane_top ペインの上端
popup_status_line_y ステータスラインの上または下
popup_width メニューまたはポップアップの幅
popup_window_status_line_x ステータスライン上のウィンドウの位置
popup_window_status_line_y ウィンドウを示すステータスライン上
各メニューは、キーボードショートカットで囲まれた項目で構成されます。メニューがターミナルに収まらない場合、表示されません。キーボードショートカットを押すと、対応する項目が選択されます。マウスが有効になっており、メニューがマウスキーバインディングから開かれた場合、マウスボタンを離して項目を選択すると、その項目が選択され、マウスボタンを離して項目を選択しない場合は、メニューが閉じます。-O オプションは、この動作を変更し、マウスボタンを離して項目を選択しない場合でもメニューが閉じないようにし、項目を選択するにはマウスボタンをクリックする必要があります。
-M は、メニューがマウスイベントを処理するように tmux に指示します。デフォルトでは、マウスキーバインディングから開かれたメニューのみがマウスイベントを処理します。
メニューで利用可能なキーは以下のとおりです。
キー 機能
Enter 選択した項目を選択
Up 前の項目を選択
Down 次の項目を選択
q メニューを終了
display-message [-aCIlNpv] [-c target-client] [-d delay] [-t target-pane] [message]
(エイリアス:display)
メッセージを表示します。-p が指定された場合、出力は stdout に出力されます。そうでない場合は、target-client のステータスラインに最大で delay ミリ秒間表示されます。delay が指定されていない場合、display-time オプションが使用されます。0 の delay は、キー押下を待ちます。「N」はキー押下を無視し、delay が経過するとのみ閉じます。-C が指定された場合、メッセージが表示されている間もウィンドウペインは更新されます。-l が指定された場合、メッセージは変更されずに表示されます。それ以外の場合、メッセージの形式は「FORMATS」セクションで説明されており、target-pane が指定されている場合はそのウィンドウペインから、そうでない場合はアクティブなウィンドウペインから情報が取得されます。
-v は、形式の解析時に詳細なログを出力し、-a は、形式変数とその値を一覧表示します。
-I は、stdin から読み取られたすべての入力を、target-pane で指定された空のウィンドウペインに転送します。
display-popup [-BCEkN] [-b border-lines] [-c target-client] [-d start-directory] [-e environment]
[-h height] [-s style] [-S border-style] [-t target-pane] [-T title] [-w width] [-x
position] [-y position] [shell-command [argument ...]]
(エイリアス:popup)
target-client で shell-command(または省略された場合は default-command)を実行するポップアップを表示します。 ポップアップは、ウィンドウペインの上に描画された長方形のボックスです。ポップアップが表示されている間は、ウィンドウペインは更新されません。コマンドが既存のポップアップ内で実行された場合、そのポップアップが変更されます。この場合、-b、-B、-C、-E、-EE、-K、-N、-s、-S のオプションのみが受け入れられ、他のオプションはすべて無視されます。
-E は、shell-command が終了するとポップアップを自動的に閉じます。2 つの -E は、shell-command が正常に終了した場合にのみポップアップを閉じます。-k は、Escape または C-c だけでなく、任意のキーでポップアップを閉じることができるようにします。
-x と -y はポップアップの位置を指定し、display-menu コマンドの場合と同じ意味を持ちます。-w と -h は幅と高さを指定し、どちらもパーセント(末尾に「%」を付けて)にすることができます。省略された場合、ターミナルのサイズの半分が使用されます。
-B は、ポップアップを境界線で囲まないようにします。
-b は、ポップアップの境界線を描画するために使用される文字のタイプを設定します。-B が指定されている場合、-b オプションは無視されます。popup-border-lines で、border-lines の可能な値を確認できます。
-s はポップアップのスタイルを設定し、-S はポップアップの境界線のスタイルを設定します(「STYLES」を参照)。
-e は「VARIABLE=value」の形式を取り、ポップアップの環境変数を設定します。複数回指定できます。
-T は、ポップアップのタイトルに使用する形式です(「形式」を参照)。
-C フラグは、クライアント上のポップアップをすべて閉じます。
-N は、以前に指定された -E、-EE、または -k オプションを無効にします。
show-prompt-history [-T prompt-type]
(エイリアス: showphist)
プロンプトの種類 `prompt-type` のプロンプト履歴を表示します。-T が省略された場合、すべての種類の履歴を表示します。`command-prompt` コマンドで、`prompt-type` の可能な値を確認してください。
バッファー
tmux は、名前付きのパストバッファーのセットを維持します。各バッファーは、`set-buffer` または `load-buffer` コマンドを使用して作成するか、`set-buffer -n` を使用して自動的に名前が付けられたバッファーの名前を変更することで、明示的に名前が付けられます。自動的に名前が付けられたバッファーには、「buffer0001」、「buffer0002」などの名前が付けられます。バッファー制限に達すると、最も古い自動的に名前が付けられたバッファーが削除されます。明示的に名前が付けられたバッファーは、バッファー制限の対象外であり、`delete-buffer` コマンドで削除できます。
バッファーは、コピーモードまたは `set-buffer` および `load-buffer` コマンドを使用して追加でき、`paste-buffer` コマンドを使用してウィンドウに貼り付けることができます。バッファーコマンドが使用され、バッファーが指定されていない場合、最も最近追加された自動的に名前が付けられたバッファーが想定されます。
各ウィンドウには、構成可能な履歴バッファーも維持されます。デフォルトでは、最大 2000 行保存されます。これは、`set-option` コマンド(上記を参照)を使用して、`history-limit` オプションを変更することで変更できます。
バッファーコマンドは次のとおりです。
choose-buffer [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [template]
ペインをバッファーモードにし、バッファーのリストから対話的にバッファーを選択できるようにします。各バッファーは 1 行に表示されます。左側にショートカットキーが表示され、すぐに選択したり、キーを使用してリストをナビゲートして項目を選択したり、その他の操作を実行したりできます。-Z はペインを拡大します。-y は、確認プロンプトを無効にします。次のキーをバッファーモードで使用できます。
キー 機能
Enter 選択したバッファーを貼り付けます
Up 前のバッファーを選択します
Down 次のバッファーを選択します
C-s 名前またはコンテンツで検索します
n 最後の検索を繰り返します(前方)
N 最後の検索を繰り返します(後方)
t バッファーがタグ付けされているかどうかを切り替えます
T すべてのバッファーのタグを解除します
C-t すべてのバッファーにタグを付けます
p 選択したバッファーを貼り付けます
P タグが付けられたバッファーを貼り付けます
d 選択したバッファーを削除します
D タグが付けられたバッファーを削除します
e バッファーをエディターで開きます
f フィルターを設定します
O ソートフィールドを変更します
r ソート順序を反転します
v プレビューの表示を切り替えます
q モードを終了します
バッファーが選択されると、「%%」は `template` で置き換えられ、結果はコマンドとして実行されます。`template` が指定されていない場合、「paste-buffer -p -b '%%'」が使用されます。
-O は、初期ソートフィールドを指定します。`time`(作成)、`name`、または `size` のいずれかです。-r は、ソート順序を反転します。-f は、初期フィルターを指定します。フィルターは形式です。評価結果がゼロの場合、リスト内の項目は表示されません。そうでない場合は、表示されます。フィルターが空のリストをもたらす場合、フィルターは無視されます。-F は、リスト内の各項目の形式を指定し、-K は、各ショートカットキーの形式を指定します。どちらも、各行に対して 1 回評価されます。-N は、プレビューなしで開始します。このコマンドは、少なくとも 1 つのクライアントが接続されている場合にのみ機能します。
clear-history [-H] [-t target-pane]
(エイリアス: clearhist)
指定されたペインの履歴を削除して解放します。-H は、すべてのハイパーリンクも削除します。
delete-buffer [-b buffer-name]
(エイリアス: deleteb)
指定された名前のバッファ、または指定されていない場合は最近追加された自動命名されたバッファを削除します。
list-buffers [-F format] [-f filter]
(エイリアス: lsb)
グローバルバッファをリストします。-F は各行の形式を指定し、-f はフィルターを指定します。フィルターが true であるバッファのみが表示されます。「FORMATS」セクションを参照してください。
load-buffer [-w] [-b buffer-name] [-t target-client] path
(エイリアス: loadb)
指定されたパスから、指定されたペーストバッファの内容をロードします。-w が指定された場合、バッファの内容は、可能な場合は xterm(1) エスケープシーケンスを使用して、target-client にクリップボードに送信されます。path が '-' の場合、内容は stdin から読み込まれます。
paste-buffer [-dpr] [-b buffer-name] [-s separator] [-t target-pane]
(エイリアス: pasteb)
ペーストバッファの内容を指定されたペインに挿入します。指定されていない場合は、現在のペインに挿入します。-d を指定すると、ペーストバッファも削除されます。出力時には、ペーストバッファ内のすべての改行 (LF) 文字が、デフォルトではキャリッジリターン (CR) で置き換えられます。カスタムセパレーターは、-s フラグを使用して指定できます。-r フラグは、置換を行わないことを意味します(セパレーターを LF に相当)。-p が指定された場合、アプリケーションがブラケット付きペーストモードを要求している場合は、バッファの周りにブラケット制御コードが挿入されます。
save-buffer [-a] [-b buffer-name] path
(エイリアス: saveb)
指定されたペーストバッファの内容を指定されたパスに保存します。-a オプションは、上書きするのではなく、ファイルに追加します。path が '-' の場合、内容は stdout に書き込まれます。
set-buffer [-aw] [-b buffer-name] [-t target-client] [-n new-buffer-name] data
(エイリアス: setb)
指定されたバッファの内容を指定されたデータに設定します。-w が指定された場合、バッファの内容は、可能な場合は xterm(1) エスケープシーケンスを使用して、target-client にクリップボードに送信されます。-a オプションは、上書きするのではなく、バッファに追加します。-n オプションは、バッファの名前を new-buffer-name に変更します。
show-buffer [-b buffer-name]
(エイリアス: showb)
指定されたバッファの内容を表示します。
その他
その他のコマンドは次のとおりです。
clock-mode [-t target-pane]
大きな時計を表示します。
if-shell [-bF] [-t target-pane] shell-command command [command]
(エイリアス: if)
shell-command ( /bin/sh で実行) が成功を返した場合に最初のコマンドを実行し、そうでない場合は2番目のコマンドを実行します。実行前に、shell-command は「FORMATS」セクションで指定されているルールを使用して展開されます。これには、target-pane に関連するルールも含まれます。-b を指定すると、shell-command はバックグラウンドで実行されます。
^ F が指定された場合、シェルコマンドは実行されませんが、空でなく、ゼロでもない場合(フォーマットが展開された後)、成功と見なされます。
^ ock-server
^ エイリアス: lock)
^ ock-command オプションで指定されたコマンドを実行して、各クライアントを個別にロックします。
^ un-shell [-bCE] [-c start-directory] [-d delay] [-t target-pane] [shell-command]
^ エイリアス: run)
^ bin/sh を使用するか、-C を使用して tmux コマンドをバックグラウンドで実行し、ウィンドウを作成せずに shell-command を実行します。実行前に、shell-command は「フォーマット」セクションで指定されたルールを使用して展開されます。-b を指定すると、コマンドはバックグラウンドで実行されます。-d は、コマンドを開始する前に delay 秒待ちます。-E は、コマンドの stderr を stdout にリダイレクトし、無視しません。-c が指定された場合、現在の作業ディレクトリは start-directory に設定されます。-C が指定されていない場合、stdout へのすべての出力は、コマンドの完了後にビューモード(-t で指定されたペインまたは省略された場合は現在のペイン)に表示されます。コマンドが失敗した場合、終了ステータスも表示されます。
^ ait-for [-L | -S | -U] channel
^ エイリアス: wait)
オプションなしで使用すると、wait-for -S で同じチャンネルを使用して呼び出されるまで、クライアントが終了しないようにします。-L を使用すると、チャンネルがロックされ、同じチャンネルをロックしようとするすべてのクライアントは、wait-for -U でチャンネルがロック解除されるまで待機します。
終了メッセージ
tmux クライアントがデタッチされると、メッセージが出力されます。以下はそのいずれかです。
^ etached (from session ...)
クライアントは通常どおりデタッチされました。
^ etached and SIGHUP
クライアントはデタッチされ、その親プロセスから SIGHUP シグナルが送信されました(例:detach-client -P)。
^ ost tty
クライアントの tty(4) または pty(4) が予期せず破棄されました。
^ erminated
クライアントが SIGTERM で強制終了されました。
^ oo far behind
クライアントがコントロールモードにあり、tmux からのデータを追跡できなくなりました。
^ xited
サーバーがセッションを持たずに終了しました。
^ erver exited
サーバーが SIGTERM を受信したときに終了しました。
^ erver exited unexpectedly
サーバーがクラッシュするか、理由をクライアントに伝達せずに終了しました。
TERMINFO 拡張
tmux は、非公式の terminfo(5) 拡張機能をいくつか理解しています。通常、これらを手動で設定する必要はありません。代わりに、terminal-features オプションを使用する必要があります。
^ X
すでに存在する拡張機能で、tmux にターミナルがデフォルトカラーをサポートすることを示します。
^ idi
tmux に、ターミナルが VTE 双方向テキスト拡張機能をサポートすることを示します。
^ s, Cr
カーソルの色を設定します。最初の引数には単一の文字列が使用され、色が設定されます。2 番目の引数には引数はなく、デフォルトのカーソル色が復元されます。設定されている場合、tmux 内から次のようなシーケンスを使用してカーソルの色を変更できます。
$ printf '\033]12;red\033\\'
色は X(7) 色であり、XParseColor(3) を参照してください。
Cmg、Clmg、Dsmg、Enmg
DECSLRM マージンを設定、クリア、無効化、または有効化します。これらは、端末が VT420 互換であると報告する場合、自動的に設定されます。
Dsbp、Enbp
括弧付きペーストを無効化および有効化します。これらは、XT 機能が存在する場合に自動的に設定されます。
Dseks、Eneks
拡張キーを無効化および有効化します。
Dsfcs、Enfcs
フォーカスレポートを無効化および有効化します。これらは、XT 機能が存在する場合に自動的に設定されます。
Hls
ハイパーリンク注釈を設定またはクリアします。
Nobr
tmux に、ターミナルが太字表示に明るい色を使用しないことを伝えます。
Rect
ターミナルが長方形操作をサポートすることを示します。
Smol
オーバーライン属性を有効にします。
Smulx
スタイル付きアンダースコアを設定します。単一のパラメーターは、次のいずれかです: 0 はアンダースコアなし、1 は通常のアンダースコア、2 は二重アンダースコア、3 はカールアンダースコア、4 は点線アンダースコア、5 は破線アンダースコア。
Setulc、Setulc1、ol
アンダースコアの色を設定するか、デフォルトにリセットします。Setulc は RGB 色用、Setulc1 は ANSI または 256 色用です。Setulc 引数は (赤 * 65536) + (緑 * 256) + 青 であり、それぞれ 0 ~ 255 の範囲です。
Ss、Se
カーソルのスタイルを設定またはリセットします。設定した場合、次のようなシーケンスを使用してカーソルをアンダースコアに変更できます。
$ printf '\033[4 q'
Se が設定されていない場合、Ss に引数 0 を指定すると、カーソルのスタイルがリセットされます。
Swd
作業ディレクトリ通知の開始シーケンスを設定します。シーケンスは、標準の fsl 機能を使用して終了します。
Sxl
ターミナルが SIXEL をサポートすることを示します。
Sync
同期更新を開始 (パラメーターは 1) または終了 (パラメーターは 2) します。
Tc
ターミナルが「直接色」RGB エスケープシーケンスをサポートすることを示します (例: \e[38;2;255;255;255m)。
サポートされている場合、これは初期化色のエスケープシーケンスに使用されます (これは、tmux terminfo(5) エントリに「initc」および「ccc」機能を追加することで有効にできます)。
これは、RGB terminfo(5) 機能と同等です。
Ms
現在のバッファーをホストターミナルの選択 (クリップボード) に保存します。上記の set-clipboard オプションと xterm(1) のマニュアルページを参照してください。
XT
これは既存の拡張機能であり、tmux はこれを使用して、ターミナルが xterm(1) タイトル設定シーケンスをサポートし、上記のいくつかの機能を自動的に設定することを意味します。
コントロールモード
tmux は、コントロールモードと呼ばれるテキストインターフェイスを提供します。これにより、アプリケーションは単純なテキスト専用プロトコルを使用して tmux と通信できます。
コントロールモードでは、クライアントは標準入力で改行で終了する tmux コマンドまたはコマンドシーケンスを送信します。各コマンドは、標準出力に 1 つの出力ブロックを生成します。出力ブロックは、%begin 行、出力 (空の場合もあります)、および %end または %error で構成されます。%begin と、対応する %end または %error には、3 つの引数があります。整数時間 (エポックからの秒数)、コマンド番号、およびフラグ (現在は使用されていません)。例:
%begin 1363006971 2 1
0 ksh* (1 ペイン) [80x24] [レイアウト b25f,80x24,0,0,2] @2 (アクティブ)
%end 1363006971 2 1
refresh-client -C コマンドを使用して、コントロールモードでクライアントのサイズを設定できます。
コントロールモードでは、tmux は通知を出力します。通知は、出力ブロック内では決して発生しません。
次の通知が定義されています。
%client-detached client
クライアントがデタッチされました。
%client-session-changed client session-id name
クライアントは現在、ID が session-id で、名前が name のセッションにアタッチされています。
%config-error error
構成ファイルでエラーが発生しました。
%continue pane-id
ペインが一時停止した後、再開されました(pause-after フラグが設定されている場合、refresh-client -A を参照)。
%exit [reason]
tmux クライアントは、セッションにアタッチされていないか、エラーが発生したため、直ちに終了します。存在する場合、reason はクライアントが終了した理由を説明します。
%extended-output pane-id age ... : value
pause-after フラグが設定されている場合に送信される %output の新しい形式。age は、tmux が出力をバッファリングしてから送信するまでの時間(ミリ秒単位)です。その後の引数で、単一の「:」になるまでのものは、将来の使用を目的としており、無視する必要があります。
%layout-change window-id window-layout window-visible-layout window-flags
ID が window-id のウィンドウのレイアウトが変更されました。新しいレイアウトは window-layout です。ウィンドウの表示レイアウトは window-visible-layout で、ウィンドウフラグは window-flags です。
%message message
display-message コマンドで送信されたメッセージ。
%output pane-id value
ウィンドウペインが出力を生成しました。value は、印刷できない文字とバックスラッシュを 8 進数の \xxx としてエスケープします。
%pane-mode-changed pane-id
ID が pane-id のペインのモードが変更されました。
%paste-buffer-changed name
ペーストバッファの名前が変更されました。
%paste-buffer-deleted name
ペーストバッファの名前が削除されました。
%pause pane-id
ペインが一時停止されました(pause-after フラグが設定されている場合)。
%session-changed session-id name
クライアントは現在、ID が session-id で、名前が name のセッションにアタッチされています。
%session-renamed name
現在のセッションが name に名前が変更されました。
%session-window-changed session-id window-id
ID が session-id のセッションが、アクティブなウィンドウを ID が window-id のウィンドウに変更しました。
%sessions-changed
セッションが作成または破棄されました。
%subscription-changed name session-id window-id window-index pane-id ... : value
名前が name のサブスクリプションに関連付けられた形式の値が value に変更されました。refresh-client -B を参照してください。pane-id までの引数で、単一の「:」になるまでのものは、将来の使用を目的としており、無視する必要があります。
%unlinked-window-add window-id
ID が window-id のウィンドウが作成されましたが、現在のセッションにはリンクされていません。
%unlinked-window-close window-id
現在のセッションにリンクされていない ID が window-id のウィンドウが閉じられました。
%unlinked-window-renamed window-id
現在のセッションにリンクされていない ID が window-id のウィンドウの名前が変更されました。
%window-add window-id
ID が window-id のウィンドウが現在のセッションにリンクされました。
%window-close window-id
ID が window-id のウィンドウが閉じられました。
%window-pane-changed window-id pane-id
ID が window-id のウィンドウで、アクティブなペインが ID が pane-id のペインに変更されました。
%window-renamed window-id name
ID が window-id のウィンドウの名前が name に変更されました。
環境
tmux が起動すると、次の環境変数が調べられます。
EDITOR この変数に指定されたコマンドに文字列 'vi' が含まれ、かつ VISUAL が設定されていない場合、
vi スタイルのキーバインディングを使用します。 mode-keys および status-keys オプションでオーバーライドされます。
HOME ユーザーのログインディレクトリ。設定されていない場合、passwd(5) データベースを参照します。
LC_CTYPE 文字エンコーディングロケール(1)。2つの異なる目的で使用されます。ターミナルへの出力の場合、-u オプションが指定されている場合、または LC_CTYPE に "UTF-8" または "UTF8" が含まれている場合、UTF-8 が使用されます。
それ以外の場合、ASCII 文字のみが書き込まれ、非 ASCII 文字はアンダースコア ('_') に置き換えられます。入力の場合、tmux は常に UTF-8 ロケールで実行されます。
オペレーティングシステムによって en_US.UTF-8 が提供されている場合、使用され、入力の場合は LC_CTYPE が無視されます。それ以外の場合、LC_CTYPE は、tmux に現在のシステムで UTF-8 ロケールが何と呼ばれているかを伝えます。
LC_CTYPE で指定されたロケールが利用できない場合、または UTF-8 ロケールでない場合、tmux はエラーメッセージを表示して終了します。
LC_TIME 日付と時刻の形式のロケール(1)。これは、ロケールに依存する strftime(3) 形式指定子に使用されます。
PWD グローバル環境に設定する現在の作業ディレクトリ。これには、シンボリックリンクが含まれている場合があります。変数の値が現在の作業ディレクトリと一致しない場合、変数は無視され、代わりに getcwd(3) の結果が使用されます。
SHELL 新しいウィンドウのデフォルトシェルへの絶対パス。詳細は default-shell オプションを参照してください。
TMUX_TMPDIR
サーバーソケットを含むディレクトリを含むディレクトリの親ディレクトリ。詳細は -L オプションを参照してください。
VISUAL この変数に指定されたコマンドに文字列 'vi' が含まれている場合、vi スタイルのキーバインディングを使用します。 mode-keys および status-keys オプションでオーバーライドされます。
ファイル
~/.tmux.conf
$XDG_CONFIG_HOME/tmux/tmux.conf
~/.config/tmux/tmux.conf
デフォルトの tmux 構成ファイル。 /etc/tmux.conf システム全体の構成ファイル。
例
vi(1) を実行する新しい tmux セッションを作成するには:
$ tmux new-session vi
ほとんどのコマンドには、エイリアスと呼ばれる短い形式があります。 new-session の場合、これは new です。
$ tmux new vi
あるいは、コマンドの最も短く、あいまいさのない形式が使用されます。複数のオプションがある場合、それらはリストされます。
$ tmux n
あいまいなコマンド: n。可能性のあるコマンド: new-session、new-window、next-window
アクティブなセッション内では、'C-b c' (Ctrl キーの後に 'b' キー、次に 'c' キー) を入力して、新しいウィンドウを作成できます。
Windows は、次を使用してナビゲートできます: ‘C-b 0’ (ウィンドウ 0 を選択)、‘C-b 1’ (ウィンドウ 1 を選択)、以下同様。‘C-b n’ で次のウィンドウを選択、‘C-b p’ で前のウィンドウを選択。
セッションは ‘C-b d’ (または、ssh(1) の切断などの外部イベント) を使用してデタッチし、次で再アタッチできます:
$ tmux attach-session
‘C-b ?’ を入力すると、現在のウィンドウで使用可能なキーバインドが一覧表示されます。リスト内を上下に移動するか、‘q’ を押して終了します。
tmux サーバーの起動時に実行するコマンドは、\~/.tmux.conf 構成ファイルに配置できます。一般的な例としては、次のようなものがあります:
デフォルトのプレフィックスキーを変更する:
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
ステータスバーをオフにするか、色を変更する:
set-option -g status off
set-option -g status-style bg=blue
デフォルトのコマンドや、30 分の非アクティブ後にロックするなど、他のオプションを設定する:
set-option -g default-command "exec /bin/ksh"
set-option -g lock-after-time 1800
新しいキーバインドを作成する:
bind-key b set-option status
bind-key / command-prompt "split-window 'exec man %%'"
bind-key S command-prompt "new-window -n %1 'ssh %1'"
関連項目
pty(4)
著者
Nicholas Marriott <_>