tmux完全ガイド:セッション・ウィンドウ・ペインを使いこなしてターミナル作業を爆速化する

AI

tmux(Terminal Multiplexer)は、1つのターミナルウィンドウを複数の仮想ターミナルに分割・管理できるソフトウェアです。SSH切断への耐性・画面分割による作業効率化・名前付きセッションによる作業状態の再利用など、エンジニアの生産性を大きく向上させます。

この記事ではtmuxとは何かという基礎から、インストール・基本操作・キーバインドチートシート・tmux.confによるカスタマイズ・Claude Code Agent Teamsとの連携まで、ゼロからtmuxを使いこなすための知識をすべて解説します。

合わせてこちらも


tmuxとは?「ターミナルの分身術」

tmux(Terminal Multiplexer)とは、1つのターミナルウィンドウを複数の仮想ターミナルに分割・管理できるソフトウェアです。

「Multiplexer(マルチプレクサ)」は通信分野で「1本の回線を複数の信号で共有する装置」を意味します。tmuxはまさにその発想で、1つのターミナルを複数の作業空間に多重化します。

たとえば、次のように1画面にコード編集・テスト実行・ログ監視を同時に並べることができます。

左上でVim編集、右上でテスト実行、下でログ監視──これをすべて1つのターミナルウィンドウでこなしています。


なぜtmuxが必要なのか:3つの恩恵

① セッションの永続化:SSH切断に強くなる

SSH接続中に回線が切れてもtmuxのセッションは生き続けます。再接続して tmux attach するだけで作業の続きから再開できます。

tmuxなし → 回線切断 → プロセス終了 → 作業消失
tmuxあり → 回線切断 → セッション継続 → アタッチで復帰 ✅

② 画面分割:コンテキストスイッチを減らす

コード編集・テスト実行・ログ確認を1画面に並べて表示できます。別ウィンドウに切り替える手間がなくなり、集中力が維持できます。

③ 作業セッションの再利用:「昨日の状態」に戻れる

名前付きセッションで用途別に管理できます。「project-a」「server-monitor」のように分けておけば、PCを再起動してもアタッチするだけで即座に作業を再開できます。

核心概念:セッション・ウィンドウ・ペイン

tmuxは「セッション → ウィンドウ → ペイン」の3階層で構成されます。

セッション(Session)
└── ウィンドウ 0「editor」
│   ├── ペイン A(vim main.py)
│   └── ペイン B(git status)
└── ウィンドウ 1「server」
    └── ペイン C(npm run dev)

それぞれの概念を身近なものに例えると次のようになります。

概念例え
セッションプロジェクトの作業部屋
ウィンドウブラウザのタブ
ペインモニターを区切った区画

覚え方:セッション > ウィンドウ > ペイン(大から小の順)


インストール方法

最新安定版はtmux 3.4〜3.6a(2026年3月時点)です。各OSのパッケージマネージャーから簡単にインストールできます。

# macOS(Homebrew)
brew install tmux

# Ubuntu / Debian系
sudo apt update && sudo apt install -y tmux

# RHEL / CentOS / AlmaLinux系
sudo yum install -y tmux

# バージョン確認
tmux -V
# tmux 3.4

Windows環境ではWSL2上でUbuntuを動かすとtmuxを利用できます。


基本操作:プレフィックスキーとセッション管理

tmuxのキー操作はすべて「プレフィックスキーを押してから、コマンドキーを押す」2段階の操作で行います。デフォルトのプレフィックスキーは Ctrl+b です。

重要:Ctrl+b と次のキーを「同時押し」するのではありません。Ctrl+b を押して一度離してから、次のキーを押します。

セッションの作成・一覧・アタッチ・終了はターミナルから直接実行するコマンドです。

tmux                      # 新規セッション作成(名前なし)
tmux new -s my-project    # 名前付きセッション作成(推奨)
tmux ls                   # セッション一覧
tmux attach -t my-project # セッションにアタッチ
tmux a                    # 直前のセッションにアタッチ
tmux kill-session -t 名前 # セッション終了
tmux kill-server          # 全セッション終了

セッション内ではキーバインドで操作します。

キー操作動作
Ctrl+b → dデタッチ(セッションを生かしたまま離れる)
Ctrl+b → sセッション一覧・切り替え
Ctrl+b → $セッション名を変更

デタッチ(Ctrl+b → d)は「離席」、exit は「終了」です。SSH接続中は必ずデタッチで抜けましょう。


ウィンドウ操作

ウィンドウはブラウザのタブのように用途別に使い分けられます。以下のキーバインドで操作します。

キー操作動作
Ctrl+b → c新規ウィンドウ作成
Ctrl+b → n次のウィンドウへ
Ctrl+b → p前のウィンドウへ
Ctrl+b → 0〜9番号で移動
Ctrl+b → w一覧から選択
Ctrl+b → ,ウィンドウ名を変更
Ctrl+b → &現在のウィンドウを閉じる(確認あり)

ステータスバーの見方
画面下部のステータスバーにはウィンドウ一覧が表示されます:

表示意味
[my-project]現在のセッション名
0:vim*ウィンドウ番号0、名前「vim」、*は現在地
1:server--は直前にいたウィンドウ


ペイン操作

ペインはウィンドウを分割した区画です。コード編集・テスト実行・ログ監視を同一画面に並べるときに使います。

キー操作動作
Ctrl+b → %左右に分割(縦線)
Ctrl+b → "上下に分割(横線)
Ctrl+b → ←↑↓→ペインを移動
Ctrl+b → qペイン番号を表示(番号キーで移動)
Ctrl+b → z全画面トグル(もう一度で元に戻る)
Ctrl+b → Alt+↑↓サイズ変更
Ctrl+b → Spaceレイアウトプリセットを順番に切り替え
Ctrl+b → xペインを閉じる(確認あり)
exitペインを閉じる

Ctrl+b → Space で切り替えられるレイアウトプリセットは以下のとおりです。

マウス操作を一時的に有効化したい場合はコマンドモードから設定できます。

# Ctrl+b → : でコマンドモードに入り以下を実行
set -g mouse on


コマンド・キーバインドチートシート

よく使うコマンドとキーバインドをまとめて掲載します。迷ったときの参照用にお使いください。

セッション管理

操作コマンド / キー
新規セッションtmux new -s 名前
一覧tmux ls
アタッチtmux a -t 名前
デタッチCtrl+b → d
セッション切り替えCtrl+b → s
セッション名変更Ctrl+b → $
セッション終了tmux kill-session -t 名前

ウィンドウ操作

操作キー
新規ウィンドウCtrl+b → c
次/前のウィンドウCtrl+b → n / p
番号で移動Ctrl+b → 0〜9
一覧選択Ctrl+b → w
名前変更Ctrl+b → ,
ウィンドウを閉じるCtrl+b → &

ペイン操作

操作キー
左右分割Ctrl+b → %
上下分割Ctrl+b → "
移動Ctrl+b → ←↑↓→
番号表示Ctrl+b → q
全画面トグルCtrl+b → z
レイアウト切り替えCtrl+b → Space
ペインを閉じるCtrl+b → x

その他

操作キー / コマンド
コマンドモードCtrl+b → :
キーバインド一覧Ctrl+b → ?
コピーモード(スクロール可)Ctrl+b → [
設定再読み込みtmux source-file ~/.tmux.conf


tmux.confでカスタマイズする

~/.tmux.conf に設定を書いておくと起動時に自動読み込みされます。以下は実践的な設定例です。

# プレフィックスを Ctrl+a に変更(指が楽になる)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# マウス操作を常に有効化
set -g mouse on

# ウィンドウ・ペインの番号を1始まりに
set -g base-index 1
setw -g pane-base-index 1

# ウィンドウを閉じたとき番号を詰める
set -g renumber-windows on

# 256色対応
set -g default-terminal "screen-256color"

# スクロール履歴を10000行に
set -g history-limit 10000

# ペイン移動をvim風にする
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# ペイン分割キーを変更
bind | split-window -h   # | で左右分割
bind - split-window -v   # - で上下分割

# 設定を素早くリロード
bind r source-file ~/.tmux.conf ; display "Reloaded!"

# コピーモードをvi風に
setw -g mode-keys vi

設定を変更したら以下のコマンドで反映します。

tmux source-file ~/.tmux.conf


よくあるハマりどころと解決策

「sessions should be nested with care」エラー

すでにtmuxセッション内で tmux new しようとすると発生するエラーです。

# tmux内にいるか確認(何か表示されたらtmux内にいる)
echo $TMUX

# 解決策:既存セッションを確認してアタッチし直す
tmux ls
tmux a -t セッション名

コピーしたテキストがターミナル外に貼り付けられない

# macOS用(~/.tmux.confに追記)
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"

# Linux用
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel -bi"

ペインでスクロールができない

# Ctrl+b → [ でコピーモードに入るとスクロール可能
# 矢印キー / PageUp・PageDown でスクロール
# q で通常モードに戻る

ステータスバーが文字化けする

# ~/.tmux.confに追記
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",xterm-256color:Tc"


Claude Code Agent Teamsとtmuxを連携する

Claude Code Agent Teamsはtmuxのペイン分割を活用して複数のAIエージェントを並列で動かす機能です。セットアップの順番が重要なため、以下の手順どおりに実行してください。

# Step 1: tmuxの外からセッションを作成
tmux new -s claude-team

# Step 2: セッション内でClaude Codeを起動
claude

Claude Codeが起動したら、次のように指示を与えます。

# Step 3: Claude Codeに指示(例)
「チームを作ってください。フロントエンド担当・バックエンド担当・
テスト担当の3名で」
# → tmuxが自動で分割され、各ペインにエージェントが現れる

Agent Teams操作中に使う主なキーは以下のとおりです。

キー操作動作
Ctrl+Tタスクリストを表示(Claude Code内)
Shift+↓次のチームメンバーへ移動
Ctrl+b → ←↑↓→ペイン間を移動(tmux操作)
Ctrl+b → z特定ペインを全画面表示


まとめ

📌 この記事のポイント

  • tmuxは「セッション → ウィンドウ → ペイン」の階層でターミナルを多重化するツール
  • セッション永続化で、SSH切断や作業離席からの復帰が安全になる
  • プレフィックスキー(Ctrl+b)を押してから次のキーという2段階操作が基本
  • %で左右分割、"で上下分割、zで全画面トグルが三種の神器
  • ~/.tmux.confでプレフィックス変更・マウス有効化・vi風移動などをカスタマイズ
  • Claude Code Agent Teamsと組み合わせると、複数AIの作業をリアルタイム可視化できる

今日から始める3ステップ

  1. インストールして tmux new -s dev を実行する──まず使ってみることが最速の習得法です
  2. Ctrl+b → % でペイン分割を試す──左でコード編集、右でコマンド実行という体験をしてみましょう
  3. Ctrl+b → d でデタッチし、tmux a で戻る──この「離席→復帰」の感覚が掴めると、tmuxが手放せなくなります


参考リソース

コメント

タイトルとURLをコピーしました