コマンド一覧

tmuxはコマンドラインからも操作できます。シェルスクリプトでの自動化や、複雑な操作に便利です。

セッションコマンド

セッション作成

# セッション作成(名前指定)
tmux new-session -s <name>
tmux new -s <name>

# セッション作成(自動命名)
tmux new

# セッション作成後、コマンド実行
tmux new-session -s dev -c ~/project -x 200 -y 50

オプション:

セッション接続

# セッション接続
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>

オプション:

ウィンドウ一覧

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 を参照してください。