tmux チートシート ~ セッション・ウィンドウ・ペイン操作を体系的に整理 ~
複数のターミナルセッションをひとつの画面で管理できる tmux は、開発や運用作業を効率化する強力なツールです。
操作が多岐にわたるため、キーバインドを都度調べながら使うことも多いので、よく使うようにまとめました。
Ctrl+b(prefix キー)とは
tmux の操作の多くは、まず Ctrl+b を押し、いったん指を離してから、続けてコマンドのキーを押す2段階方式です。この最初に押す Ctrl+b を prefix キー(前置キー)と呼びます。本記事では、わかりやすさのため前置キーを Ctrl+b と表記します。
たとえば新しいウィンドウを作る Ctrl+b c は、「Ctrl+b を押して離してから c を押す」という意味で、同時押しではありません。
Ctrl+b は少し押しにくいため、”~/.tmux.conf” で Ctrl+a などに変更して使う人もいます(その場合は本記事の Ctrl+b を読み替えてください):
set-option -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
tmuxの構造
tmux は「セッション > ウィンドウ > ペイン」の3階層で構成されています。
- セッション: 最上位の単位です。ひとつのセッションのなかに複数のウィンドウを作れます。
- ウィンドウ: セッション内のタブのような単位です。ひとつのウィンドウのなかに複数のペインを作れます。
- ペイン: ウィンドウを分割した領域です。ひとつの画面に複数の作業領域を並べられます。
基本的な使い方は、セッションにアタッチ(接続)し、ウィンドウを切り替えながら作業を進める流れです。デタッチしてもセッションは存続するため、あとから同じセッションに再接続して作業を再開できます。
コマンドの省略と入力補助
tmux の操作には正式なコマンド名があり、シェルからは “tmux <コマンド>“、セッション接続中は Ctrl+b : で開くコマンドプロンプトから実行します。正式名称は長めですが、他と区別できる文字数まで省略できます。
- 正式名称: “tmux new-session -s work”
- 省略形: “tmux new -s work”
ただし単純な先頭一致ではなく、よく使うコマンドには優先される別名があります。たとえば “new-session” と “new-window” はどちらも “new” で始まりますが、“new” と打つと “new-session” が優先されます。“new-window” を縮めたいときは、区別できる “neww” まで打ちます。
コマンド名を忘れたときは、Ctrl+b : のプロンプトでコマンドの先頭を入力して Tab を押すと、それで始まるコマンドの候補を表示・補完してくれます。
以降の表では、まず正式名称(未省略)を示し、よく使う省略形を併記します。
コマンドを実行する2つの場所
tmux の操作は「どこで実行するか」で2種類に分かれます。混同しやすいので、分けて覚えると迷いません。
① シェルから “tmux <コマンド>“(セッションの外側)
セッションの作成・一覧・接続・削除など、セッションそのものを管理する操作です。“tmux ls” や “tmux new-session -d” のように接続中でも実行できるものもありますが、“tmux attach”(接続)だけはセッションの外からしか実行できません。すでに接続中のセッションの中で実行すると入れ子になり、警告が出ます。
② セッション接続中に Ctrl+b(セッションの内側)
ウィンドウの切り替えやペインの分割など、セッションにアタッチしている間だけ行える操作です。
セッション操作
セッションは tmux の最上位単位です。複数のプロジェクトを別セッションで管理し、デタッチしてもプロセスを保持できます。操作は「外側(シェル)」と「内側(Ctrl+b)」に分かれます。
セッションの外側(シェルから “tmux”)
| 操作 | 正式コマンド | 省略形 |
|---|---|---|
| 新規セッション作成 | ”tmux new-session -s | "tmux new -s |
| 名前を付けずに作成 | ”tmux new-session" | "tmux new” / “tmux” |
| 接続せず裏で作成 | ”tmux new-session -d -s | "tmux new -d -s |
| セッション一覧 | ”tmux list-sessions" | "tmux ls” |
| セッションへ接続(アタッチ) | “tmux attach-session -t | "tmux attach -t |
| セッション削除 | ”tmux kill-session -t | — |
セッション接続中(Ctrl+b)
| 操作 | キーバインド |
|---|---|
| セッション一覧から選択 | Ctrl+b s |
| 前のセッションへ切替 | Ctrl+b ( |
| 次のセッションへ切替 | Ctrl+b ) |
| デタッチ(セッションは存続) | Ctrl+b d |
| セッション名変更 | Ctrl+b $ |
ウィンドウ操作
セッション内でタブのように複数のウィンドウを開けます。ウィンドウはステータスバーに番号で並びます。ここからはすべてセッション接続中(Ctrl+b)の操作です。
| 操作 | キーバインド |
|---|---|
| 新規ウィンドウ作成 | Ctrl+b c |
| ウィンドウ一覧から選択 | Ctrl+b w |
| 次のウィンドウへ | Ctrl+b n |
| 前のウィンドウへ | Ctrl+b p |
| 番号でウィンドウ選択 | Ctrl+b 0〜Ctrl+b 9 |
| ウィンドウ名変更 | Ctrl+b , |
| ウィンドウを閉じる | Ctrl+b & |
ペイン操作
ウィンドウをさらに分割した領域がペインです。エディタとターミナルを横並びにするなど、ひとつの画面に複数の作業領域を確保できます。
| 操作 | キーバインド |
|---|---|
| 左右に分割(垂直分割) | Ctrl+b % |
| 上下に分割(水平分割) | Ctrl+b “ |
| 隣のペインへ移動 | Ctrl+b ↑↓←→(矢印キー) |
| ペインを順番に切替 | Ctrl+b o |
| ペイン番号を表示(数字キーでジャンプ) | Ctrl+b q |
| 直前のペインへ切り替え | Ctrl+b ; |
| ペインをズーム(全画面トグル) | Ctrl+b z |
| ペインを閉じる | Ctrl+b x |
| レイアウト切替 | Ctrl+b スペース |
| ペインを1セルずつリサイズ | Ctrl+b Ctrl+↑↓←→ |
| ペインを5セルずつリサイズ | Ctrl+b Alt+↑↓←→ |
| 現ペインと前のペインを入れ替え | Ctrl+b { |
| 現ペインと次のペインを入れ替え | Ctrl+b } |
コピーモード
スクロールや文字列検索、テキストのコピーはコピーモードで行います。コピーモード内のキーは vi 系と emacs 系の2系統があり、既定は emacs 系です(”~/.tmux.conf” に “set-window-option -g mode-keys vi” を書くと vi 系になります)。
| 操作 | vi 系 | emacs 系(既定) |
|---|---|---|
| コピーモード開始 | Ctrl+b [ | Ctrl+b [ |
| 前方検索 | / | Ctrl+s |
| 後方検索 | ? | Ctrl+r |
| 次の検索結果 | n | n |
| 前の検索結果 | N | N |
| 選択開始 | Space | Ctrl+Space |
| 選択してコピー | Enter | Alt+w(Ctrl+w も可) |
| コピーモード終了 | q | q または Esc |
| 貼り付け | Ctrl+b ] | Ctrl+b ] |
emacs 系の場合のコピーの基本的な流れは次のとおりです。
- Ctrl+b [ でコピーモードに入る
- 矢印キーや検索(Ctrl+s / Ctrl+r)で選択の始点へ移動する
- Ctrl+Space で選択を開始し、カーソル移動で範囲を広げる
- Alt+w でコピーする(このとき自動的にコピーモードを抜けます)
- Ctrl+b ] で貼り付ける
途中でやめるときは q または Esc でコピーモードを抜けます。Ctrl+b ] はコピーモードの外で貼り付けに使うキーで、コピーモードを閉じるキーではありません。
emacs 系の検索(Ctrl+s / Ctrl+r)はインクリメンタル検索で、入力しながら絞り込めます。Alt+w は端末によっては Esc を押してから w でも代用できます。
vi 系キーバインドを有効にするには ”~/.tmux.conf” に以下を追加します:
set-window-option -g mode-keys vi
設定・その他
| 操作 | キーバインド / コマンド |
|---|---|
| 設定ファイルをリロード | Ctrl+b :source-file ~/.tmux.conf |
| すべてのセッションを終了 | Ctrl+b :kill-server |
| キーバインド一覧を表示 | Ctrl+b ? |
マウス操作
マウスサポートを有効にすると、クリックでペインを選択したり、境界をドラッグしてリサイズしたりできます。
有効化の方法
| 方法 | コマンド |
|---|---|
| 設定ファイルで永続設定 | ”~/.tmux.conf” に “set -g mouse on” を追記 |
| セッション中に一時的に有効化(再起動で元に戻る) | Ctrl+b :set mouse on |
マウスで行える操作(“mouse on” 時)
| 操作 | 方法 |
|---|---|
| ペインを選択 | クリック |
| ペインをリサイズ | 境界線をドラッグ |
| ウィンドウを切替 | ステータスバーのウィンドウ名をクリック |
| スクロールバックを閲覧 | ホイールスクロール |
マウスでのテキストコピー
マウスで選択すると、システムのクリップボードにコピーされます。コピーされない場合は “set-clipboard on” などの設定が必要なことがあります。
右クリックメニュー(tmux 3.0 以降)
tmux 3.0 以降では、マウスモードが有効な状態で右クリックするとコンテキストメニュー(“display-menu”)が開きます。クリックした位置によってメニューの内容が異なります:
| クリック位置 | メニューの内容 |
|---|---|
| ペイン内 | 検索・コピー・分割・スワップ・ズームなど |
| ステータスバー(ウィンドウ名) | ウィンドウの操作(スワップ・削除・リネーム等) |
| ステータスバー左端 | セッションの操作(切替・リネーム等) |
キーバインドの覚え方
Ctrl+b [ で取り込み、Ctrl+b ] で取り出す
コピーモードは [ で開始し、コピーした内容は ] で貼り付けます。] はコピーモードを閉じるキーではなく貼り付けキーですが(コピーモードを抜けるのは q / Esc、またはコピー操作)、開き括弧と閉じ括弧が対になっているので「[ で取り込み、] で取り出す」とセットで覚えると迷いません。
ペイン分割は Ctrl+b % が左右、Ctrl+b ” が上下
Ctrl+b % で左右に分割(垂直分割)、Ctrl+b ” で上下に分割(水平分割)します。
PDF版のダウンロード
このチートシートのPDF版(A4・印刷向け)を無料でダウンロードできます。 手元に置いておくと、ターミナル作業中にすぐ参照できます。
関連記事
- WSL 2のWindowsファイルアクセスが高速化 — Linuxターミナル環境をさらに快適にするWSL 2の改善
キーバインドは tmux 3.x(“man tmux”)を基に確認。