Tmuxの使用方法とコマンド全集
Tmux(Terminal Multiplexer)は、一つのターミナルウィンドウ内で複数のセッションを同時に操作できる強力なツールです。SSH接続時に特に便利で、接続が切れてもセッションが維持されるため、再接続後も同じ作業を続けられます。
Tmuxとは
Tmuxは「terminal multiplexer」の略で、以下の特徴があります:
- セッション管理:複数のセッションを作成し、切り替えが可能
- ウィンドウ管理:セッション内で複数のウィンドウを作成
- ペイン分割:ウィンドウを複数のペインに分割
- デタッチ・アタッチ:セッションを維持したままターミナルから切断・再接続
インストール方法
# Ubuntu/Debian系
sudo apt install tmux
# RHEL/CentOS系
yum install tmux
# macOS (Homebrew)
brew install tmux
# 最新版のソースからインストール(例:2.9)
curl -kLO https://github.com/tmux/tmux/releases/download/2.9/tmux-2.9.tar.gz
yum -y install gcc libevent-devel ncurses-devel
tar -zxvf tmux-2.9.tar.gz
cd tmux-2.9
./configure
make
make install
基本概念
階層構造
Tmuxは以下の階層構造を持ちます:
- セッション:最上位の作業単位
- ウィンドウ:セッション内のタブのような概念
- ペイン:ウィンドウ内の分割された領域
プレフィックスキー
Tmuxの操作は「プレフィックスキー + コマンドキー」の組み合わせで行います。デフォルトのプレフィックスキーは Ctrl+b です。
セッション操作
セッション作成・管理
# 新規セッション作成
tmux
# 名前付きセッション作成
tmux new -s session_name
# セッション一覧表示
tmux ls
# セッションに接続
tmux a -t session_name
# セッション終了
tmux kill-session -t session_name
# 全セッション終了
tmux kill-server
セッション内操作
| 操作 | キーバインド | 説明 |
|---|---|---|
| セッションデタッチ | Ctrl+b → d | セッションから離脱 |
| セッション名変更 | Ctrl+b → $ | 現在のセッション名を変更 |
| セッション選択 | Ctrl+b → s | セッション一覧から選択 |
ウィンドウ操作
ウィンドウ管理
| 操作 | キーバインド | コマンド | 説明 |
|---|---|---|---|
| 新規ウィンドウ作成 | Ctrl+b → c | new-window | 新しいウィンドウを作成 |
| 次のウィンドウ | Ctrl+b → n | next-window | 次のウィンドウに移動 |
| 前のウィンドウ | Ctrl+b → p | previous-window | 前のウィンドウに移動 |
| ウィンドウ番号指定 | Ctrl+b → 数字 | select-window -t 数字 | 指定番号のウィンドウに移動 |
| ウィンドウ一覧 | Ctrl+b → w | list-windows | ウィンドウ一覧を表示 |
| ウィンドウ名変更 | Ctrl+b → , | rename-window | 現在のウィンドウ名を変更 |
| ウィンドウ検索 | Ctrl+b → f | find-window | ウィンドウを名前で検索 |
| ウィンドウ終了 | Ctrl+b → & | kill-window | 現在のウィンドウを終了 |
ペイン操作
ペイン分割
| 操作 | キーバインド | コマンド | 説明 |
|---|---|---|---|
| 縦分割 | Ctrl+b → % | split-window -h | ペインを左右に分割 |
| 横分割 | Ctrl+b → “ | split-window -v | ペインを上下に分割 |
ペイン移動・操作
| 操作 | キーバインド | コマンド | 説明 |
|---|---|---|---|
| ペイン移動 | Ctrl+b → 矢印キー | select-pane -L/-R/-U/-D | 左/右/上/下のペインに移動 |
| ペイン順次移動 | Ctrl+b → o | select-pane -t :.+ | 次のペインに移動 |
| ペイン番号表示 | Ctrl+b → q | display-panes | ペイン番号を表示 |
| ペイン最大化 | Ctrl+b → z | resize-pane -Z | 現在のペインを最大化/元に戻す |
| ペイン終了 | Ctrl+b → x | kill-pane | 現在のペインを終了 |
ペインサイズ調整
| 操作 | キーバインド | 説明 |
|---|---|---|
| 左に縮小 | Ctrl+b → Ctrl+矢印左 | ペインを左方向にリサイズ |
| 右に拡大 | Ctrl+b → Ctrl+矢印右 | ペインを右方向にリサイズ |
| 上に縮小 | Ctrl+b → Ctrl+矢印上 | ペインを上方向にリサイズ |
| 下に拡大 | Ctrl+b → Ctrl+矢印下 | ペインを下方向にリサイズ |
コピーモード
コピーモード操作
| 操作 | キーバインド | 説明 |
|---|---|---|
| コピーモード開始 | Ctrl+b → [ | コピーモードに入る |
| 選択開始 | Space | テキスト選択を開始 |
| 選択終了・コピー | Enter | 選択範囲をコピー |
| ペースト | Ctrl+b → ] | コピーした内容をペースト |
| コピーモード終了 | q または Esc | コピーモードを終了 |
設定ファイル(~/.tmux.conf)
基本設定例
# プレフィックスキーをCtrl+aに変更
unbind-key C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# ペインの開始番号を1に変更
set-option -g base-index 1
set-window-option -g pane-base-index 1
# マウス操作を有効化
set-option -g mouse on
# viライクなキーバインド
set-window-option -g mode-keys vi
# ステータスバーの設定
set-option -g status-bg "colour255"
set-option -g status-fg "colour0"
# ペインボーダーの色設定
set-option -g pane-border-style "fg=colour245"
set-option -g pane-active-border-style "fg=colour39"
# リロード設定
bind-key r source-file ~/.tmux.conf \; display-message "Configuration reloaded"
高度な設定
# コピーモードでマウス選択時にクリップボードにコピー
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
# ペイン分割のキーバインド変更
bind-key | split-window -h
bind-key - split-window -v
# ペインサイズ調整のキーバインド
bind-key -r H resize-pane -L 5
bind-key -r J resize-pane -D 5
bind-key -r K resize-pane -U 5
bind-key -r L resize-pane -R 5
便利なコマンド例
セッション管理の自動化
# 開発環境を自動構築するスクリプト例
#!/bin/bash
tmux new-session -d -s development
tmux split-window -v
tmux split-window -h
tmux resize-pane -D 15
tmux select-pane -t 1
tmux attach-session -t development
ワークスペースの復元
# ~/.tmux.confでセッション自動作成
new -s work -n editor
neww -n server
neww -n logs
selectw -t 1
よくあるトラブル対処法
セッションが見つからない場合
# すべてのセッション確認
tmux ls
# サーバー状態確認
tmux info
# サーバー再起動
tmux kill-server
tmux
設定が反映されない場合
# 設定ファイル再読み込み
tmux source-file ~/.tmux.conf
# 設定確認
tmux show-options -g
プラグイン管理
TPM(Tmux Plugin Manager)
# TPMのインストール
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# ~/.tmux.confに追加
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
# プラグインインストール: Ctrl+b → I
# プラグイン更新: Ctrl+b → U
まとめ
Tmuxは学習コストが少し高いですが、一度覚えてしまえば開発効率が大幅に向上します。特にサーバー管理やリモート開発において、セッションの永続化機能は非常に有用です。基本的な操作から始めて、徐々に設定をカスタマイズしていくことをお勧めします。
この記事で紹介したコマンドとキーバインドを参考に、ぜひTmuxを活用してみてください。作業効率の向上を実感できるはずです。

