tmux デフォルトのキー割当の抜粋・和訳・補足

http://man.openbsd.org/OpenBSD-current/man1/tmux.1

マニュアル ページを開いて検索すると、その時の自分にとっては必要のない情報も含まれているので、抜粋して訳すことにしました。

**デフォルトのキー割り当てに関する説明なので、変更している場合は適宜読み替えが必要です。**

- キーについて
  - `C`: WindowsではCtrl
  - `M`: WindowsではAlt
- 用語の概念について
  - セッション ＞ ウィンドウ ＞ ペイン（左にあるほど上位概念）
    - セッション: ターミナルの1接続
    - ウィンドウ: 1セッションの中でExcelのシートのように切り替えて使う。
      - 作業単位に分けると便利？
    - ペイン: 1ウィンドウの中を分割して使う。
      - 1つの作業の中で複数のログを同時に確認したり、コマンド入力用のペインとプロセス確認用のペインに分けてコマンド入力の結果をリアルタイムで確認するのに便利？ただし、ペインを開きすぎると、1つ1つの面積が狭くなり視認性や作業効率が下がると思う。
    - 説明の中で「前へ」「次へ」と記載のある箇所は、生成された順番（インデックス）を基準にしているようです。
      - ターミナルを開いて`tmux`コマンドで新規にセッションを開始した時、他にセッションがなければ（セッションの）インデックスは0になります。過去、あるいは別のターミナルでセッションが開始されていた場合、`tmux`コマンドで開始される（セッションの）インデックスは「既存のセッション数」になります。
      - 新規にセッションを開いた時に表示されているウインドウは、（ウィンドウの）インデックスが0になります。`C-b C-c`で新たにウィンドウを作成した場合、そのウィンドウのインデックスは「既存のウィンドウ数」になります。
      - 新規にウィンドウを開いた時、1つペインが自動的に作成されており、そのペインのインデックスは0になります。`C-b "`または`C-b %`でペインを分割した時、新しく作成されたペインのインデックスは「既存のペイン数」になります。

## 各キー入力前の必須入力

| コマンド | 説明 |
| --- | --- |
| C-b | アプリケーションにプリフィクス キー(Ctrl+b)を送信する。 |

## セッション関連

- 既存のセッション一覧確認: `tmux ls`
- 既存のセッションへのアタッチ: `tmux -a t <セッション名>`
- 新しいセッションの作成: `tmux new -s <セッション名>`

| コマンド | 説明 |
| --- | --- |
| C-z | tmuxクライアントを中断する。 |
| $ | 現在のセッションの名前を変更する。 |
| ( | アタッチされているクライアントを前のセッションへ切り替える。 |
| ) | アタッチされているクライアントを次のセッションへ切り替える。 |
| D | 切り離すクライアントを選択する。（qまたは「Esc×2」で取り消し） |
| L | アタッチされているクライアントを直近のセッションへ切り替える。 |
| d | 現在のクライアントを切り離す。 |
| r | アタッチされているクライアントを強制的に再描画する。 |
| s | アタッチされているクライアントの新しいセッションを対話的に選択する。 |

## ウィンドウ関連

| コマンド | 説明 |
| --- | --- |
| & | 現在のウィンドウを閉じる。 （確認あり）|
| ' (シングル クォーテーション) | ウィンドウのインデックスを選択するためのプロンプトを表示する。 |
| , (コンマ) | 現在のウィンドウの名前を変更する。 |
| . (ピリオド) | 現在のウィンドウの移動先インデックスを入力するためのプロンプトを表示する。(使用中のインデックスを指定するとエラーになる。) |
| 0 から 9 | アクティブにするウィンドウを0から9のインデックスで指定する。 |
| c | 新しいウィンドウを作成する。 |
| f | 開いているウィンドウでテキストを検索するためのプロンプトを表示する。 |
| i | 現在のウィンドウに関する情報を表示する。 |
| l | 直前に選択されていたウィンドウへ移動する。 |
| n | 次のウィンドウへ移動する。 |
| p | 前のウィンドウへ変更する。 |
| w | 現在のウィンドウを対話的に選択する。 |

## ペイン関連

| コマンド | 説明 |
| --- | --- |
| C-o | 現在のウィンドウにおいてペインを前方に入れ替える。 |
| ! | ウィンドウの現在のペインを別ウィンドウに分離する。 |
| " | 現在のペインを上下に分割する。 |
| % | 現在のペインを左右に分割する。 |
| ; | アクティブなペインを前に移動する。 |
| m | 現在のペインをマークする。（`select-pane -m`コマンドを参照） |
| M | マークされたペインをクリアする。 |
| o | 現在のウィンドウの次のペインへ移動する。 |
| q | ペインのインデックスを表示する。 |
| x | 現在のペインを閉じる。（確認あり） |
| z | 現在のペインのズーム状態を切り替える。（他のペインが非表示になり、あたかも1つのペインのような状態になる。） |
| { | 現在のペインと前のペインを入れ替える。 |
| } | 現在のペインと次のペインを入れ替える。 |
| ↑↓←→ | アクティブなペインを上下左右で切り替える。 |
| M-1 から M-5 | ペインを5つの定義済みレイアウトで配置する。1: 垂直方向に均等／2: 水平方向に均等／3: 1つが上半分を専有、残りは下半分で垂直方向に均等／4: 1つが左半分を専有、残りは右半分で水平方向に均等／5: タイル状 |
| スペース | 次の定義済みレイアウトへ切り替える。 |
| M-n | ベル、またはマーカーと共に次のウィンドウへ移動する。（ウィンドウを複数開いているにも関わらず、`No next window`と表示され、挙動を確認できなかった。） |
| M-o | 現在のウィンドウでペインを逆順に入れ替える。（`o`はアクティブなペインが切り替わるだけだが、このコマンドは位置も変更される。） |
| M-p | ベル、またはマーカーと共に前のウィンドウへ移動する。（ウィンドウを複数開いているにも関わらず、`No next window`と表示され、挙動を確認できなかった。） |
| C-↑、C-↓、C-←、C-→ | 現在のペインを1セル単位でリサイズする。（1回ごとにプリフィクス キー(C-b)を入力しなければいけないので面倒…） |
| M-↑、M-↓、M-←、M-→ | 現在のペインを5セル単位でリサイズする。（同上） |

## その他全般

| コマンド | 説明 |
| --- | --- |
| # | すべての貼り付けバッファーを一覧表示する。 |
| - | 直近でコピーされたテキストのバッファーを削除する。 |
| : | tmuxのコマンド プロンプト モードに入る。 |
| = | 貼り付けるバッファーを一覧から対話的に選択する。 |
| ? | すべてのキー割当を一覧表示する。 |
| [ | コピー モードに入る。（テキストのコピーや履歴のスクロールが可能になる。qでモード終了。） |
| ] | 直近でコピーされたバッファーのテキストを貼り付ける。 |
| t | 時間を表示する。 |
| ~ | tmuxからのメッセージを表示する。（もしあれば。qでメッセージを閉じる。） |
| Page Up | コピー モードに入り1ページ上にスクロールする。 |

## マニュアル ページの順番のまま全てを列挙したもの

| コマンド | 説明 |
| --- | --- |
| C-b | アプリケーションにプリフィクス キー(Ctrl+b)を送信する。 |
| C-o | 現在のウィンドウにおいてペインを前方に入れ替える。 |
| C-z | tmuxクライアントを中断する。 |
| ! | ウィンドウの現在のペインを別ウィンドウに分離する。 |
| " | 現在のペインを上下に分割する。 |
| # | すべての貼り付けバッファーを一覧表示する。 |
| $ | 現在のセッションの名前を変更する。 |
| % | 現在のペインを左右に分割する。 |
| & | 現在のウィンドウを閉じる。 （確認あり）|
| ' (シングル クォーテーション) | ウィンドウのインデックスを選択するためのプロンプトを表示する。 |
| ( | アタッチされているクライアントを前のセッションへ切り替える。 |
| ) | アタッチされているクライアントを次のセッションへ切り替える。 |
| , (コンマ) | 現在のウィンドウの名前を変更する。 |
| - | 直近でコピーされたテキストのバッファーを削除する。 |
| . (ピリオド) | 現在のウィンドウの移動先インデックスを入力するためのプロンプトを表示する。(使用中のインデックスを指定するとエラーになる。) |
| 0 から 9 | アクティブにするウィンドウを0から9のインデックスで指定する。 |
| : | tmuxのコマンド プロンプト モードに入る。 |
| ; | アクティブなペインを前に移動する。 |
| = | 貼り付けるバッファーを一覧から対話的に選択する。 |
| ? | すべてのキー割当を一覧表示する。 |
| D | 切り離すクライアントを選択する。（qまたは「Esc×2」で取り消し） |
| L | アタッチされているクライアントを直近のセッションへ切り替える。 |
| [ | コピー モードに入る。（テキストのコピーや履歴のスクロールが可能になる。qでモード終了。） |
| ] | 直近でコピーされたバッファーのテキストを貼り付ける。 |
| c | 新しいウィンドウを作成する。 |
| d | 現在のクライアントを切り離す。 |
| f | 開いているウィンドウでテキストを検索するためのプロンプトを表示する。 |
| i | 現在のウィンドウに関する情報を表示する。 |
| l | 直前に選択されていたウィンドウへ移動する。 |
| m | 現在のペインをマークする。（`select-pane -m`コマンドを参照） |
| M | マークされたペインをクリアする。 |
| n | 次のウィンドウへ移動する。 |
| o | 現在のウィンドウの次のペインへ移動する。 |
| p | 前のウィンドウへ変更する。 |
| q | ペインのインデックスを表示する。 |
| r | アタッチされているクライアントを強制的に再描画する。 |
| s | アタッチされているクライアントの新しいセッションを対話的に選択する。 |
| t | 時間を表示する。 |
| w | 現在のウィンドウを対話的に選択する。 |
| x | 現在のペインを閉じる。（確認あり） |
| z | 現在のペインのズーム状態を切り替える。（他のペインが非表示になり、あたかも1つのペインのような状態になる。） |
| { | 現在のペインと前のペインを入れ替える。 |
| } | 現在のペインと次のペインを入れ替える。 |
| ~ | tmuxからのメッセージを表示する。（もしあれば。qでメッセージを閉じる。） |
| Page Up | コピー モードに入り1ページ上にスクロールする。 |
| ↑↓←→ | アクティブなペインを上下左右で切り替える。 |
| M-1 から M-5 | ペインを5つの定義済みレイアウトで配置する。1: 垂直方向に均等／2: 水平方向に均等／3: 1つが上半分を専有、残りは下半分で垂直方向に均等／4: 1つが左半分を専有、残りは右半分で水平方向に均等／5: タイル状 |
| スペース | 次の定義済みレイアウトへ切り替える。 |
| M-n | ベル、またはマーカーと共に次のウィンドウへ移動する。（ウィンドウを複数開いているにも関わらず、`No next window`と表示され、挙動を確認できなかった。） |
| M-o | 現在のウィンドウでペインを逆順に入れ替える。（`o`はアクティブなペインが切り替わるだけだが、このコマンドは位置も変更される。） |
| M-p | ベル、またはマーカーと共に前のウィンドウへ移動する。（ウィンドウを複数開いているにも関わらず、`No next window`と表示され、挙動を確認できなかった。） |
| C-↑、C-↓、C-←、C-→ | 現在のペインを1セル単位でリサイズする。（1回ごとにプリフィクス キー(C-b)を入力しなければいけないので面倒…） |
| M-↑、M-↓、M-←、M-→ | 現在のペインを5セル単位でリサイズする。（同上） |