コマンド一覧
tmuxはコマンドラインからも操作できます。シェルスクリプトでの自動化や、複雑な操作に便利です。
セッションコマンド
セッション作成
# セッション作成(名前指定)
tmux new-session -s <name>
tmux new -s <name>
# セッション作成(自動命名)
tmux new
# セッション作成後、コマンド実行
tmux new-session -s dev -c ~/project -x 200 -y 50
オプション:
-s <name>: セッション名-c <path>: 初期ディレクトリ-x <width>: ウィンドウ幅-y <height>: ウィンドウ高さ-d: デタッチ状態で作成
セッション接続
# セッション接続
tmux attach-session -t <name>
tmux attach -t <name>
tmux a -t <name>
# 最後に使ったセッションに接続
tmux attach
tmux a
セッション一覧
tmux list-sessions
tmux ls
セッション削除
tmux kill-session -t <name>
セッション名変更
tmux rename-session -t <old> <new>
ウィンドウコマンド
ウィンドウ作成
tmux new-window -t <session> -n <name>
オプション:
-t <session>: 対象セッション-n <name>: ウィンドウ名-c <path>: 初期ディレクトリ
ウィンドウ一覧
tmux list-windows -t <session>
ウィンドウ削除
tmux kill-window -t <session>:<window>
ペインコマンド
ペイン分割
# 水平分割
tmux split-window -h -t <session>:<window>
# 垂直分割
tmux split-window -v -t <session>:<window>
ペイン一覧
tmux list-panes -t <session>:<window>
ペイン削除
tmux kill-pane -t <session>:<window>.<pane>
汎用コマンド
コマンド実行
# tmux内でコマンド実行
tmux send-keys -t <target> 'command' Enter
# 例:別セッションでコマンド実行
tmux send-keys -t mywork 'npm start' Enter
コマンドプロンプト表示
tmux command-prompt
ヘルプ表示
tmux list-commands
tmux list-keys
スクリプト例
複数ウィンドウを自動作成
#!/bin/bash
# セッション作成
tmux new-session -d -s dev -c ~/project
# ウィンドウ作成
tmux new-window -t dev -n editor -c ~/project
tmux new-window -t dev -n server -c ~/project
tmux new-window -t dev -n logs -c ~/project
# コマンド実行
tmux send-keys -t dev:editor 'vim' Enter
tmux send-keys -t dev:server 'npm start' Enter
tmux send-keys -t dev:logs 'tail -f logs/app.log' Enter
# セッション接続
tmux attach -t dev
環境に応じた設定
#!/bin/bash
SESSION="work"
# 既存セッションを確認
if tmux has-session -t $SESSION 2>/dev/null; then
tmux attach -t $SESSION
else
# 新規セッション作成
tmux new-session -d -s $SESSION -c ~/work
tmux new-window -t $SESSION -n dev
tmux new-window -t $SESSION -n deploy
tmux attach -t $SESSION
fi
よく使うコマンド組み合わせ
複数セッション管理
# すべてのセッションを一覧
tmux ls
# 特定のセッション内容を確認
tmux capture-pane -t <session> -p
# セッションを他のディスプレイに移動
tmux move-session -t <old> -t <new>
ペイン操作
# ペインを最大化
tmux resize-pane -t <pane> -Z
# ペインサイズを指定
tmux resize-pane -t <pane> -x 100 -y 50
詳しくは man tmux を参照してください。