PR

Tmuxの使用方法とコマンド全集 – ターミナルマルチプレクサ完全ガイド

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を活用してみてください。作業効率の向上を実感できるはずです。

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