この記事では、開発作業でよく複数のターミナルを同時に扱う場面において、tmux を使うことで1つのターミナルで効率的に作業を管理する方法を紹介します。tmux の基本的な使い方から実践的なカスタマイズまでを解説します。
はじめに
tmux は「terminal multiplexer」の略で、以下のような機能を提供するツールです:
- 複数のターミナルセッションを 1 つのウィンドウで管理
- SSH 接続が切れても作業状態を保持
- ウィンドウやペインで画面を分割して効率的に作業
環境構築
インストール
各環境に応じて以下のコマンドでインストールできます:
# Ubuntu/Debian
sudo apt-get install tmux
# macOS
brew install tmux
基本設定
~/.tmux.conf
に以下の設定を追加することで、より使いやすい環境になります:
# マウス操作を有効化
set-option -g mouse on
# true color対応
set-option -sa terminal-features ',xterm-256color:RGB'
# ステータスラインをカスタマイズ
set-option -g status-interval 1
set -g status-left "#[fg=#eee8d5,bold] Session: #S / "
基本的な使い方
セッション管理
よく使うコマンドは以下の通りです:
# 新規セッション作成
tmux new -s プロジェクト名
# セッションの一時退避
Ctrl+b → d
# セッションに再接続
tmux attach -t プロジェクト名
画面操作
基本的なキーバインド:
-
Ctrl+b → c
: 新しいウィンドウを作成 -
Ctrl+b → %
: 画面を左右に分割 -
Ctrl+b → "
: 画面を上下に分割 -
Ctrl+b → 矢印キー
: ペイン間を移動
実践的なカスタマイズ
キーバインドの最適化
以下の設定で、より直感的な操作が可能になります:
# プレフィックスキーをCtrl+kに変更
set -g prefix C-k
unbind C-b
# ペイン分割を直感的に
bind v split-window -h # 縦分割
bind s split-window -v # 横分割
作業効率を上げる Tips
-
プロジェクトごとのセッション管理
# プロジェクトAの作業開始 tmux new -s projectA
-
定型的な画面レイアウトの作成
# レイアウトを保存 bind S command-prompt -p "保存名:" "run-shell 'tmux save-layout %1'"
トラブルシューティング
よくある問題と解決方法
-
セッションが作成できない
- 既存のセッション確認:
tmux ls
- プロセス確認:
ps aux | grep tmux
- 既存のセッション確認:
-
キーバインドが効かない
- 設定の再読み込み:
tmux source-file ~/.tmux.conf
- キーバインドの確認:
tmux list-keys
- 設定の再読み込み:
まとめ
tmux を使いこなすことで、以下のような利点が得られます:
- 複数の作業を効率的に管理
- SSH 接続での作業が安定化
- カスタマイズによる作業効率の向上
ぜひ、自分の開発スタイルに合わせてカスタマイズしながら使ってみてください。
参考
Happy Hacking!