😽

tilex: tmuxペインを一括生成してCLIを並列実行するランチャー

に公開

tilexは、tmux上で複数ペインを一気に生成した上でコマンドを実行できるシンプルなシェル関数です。ペインは自動でタイル状に整列されるため、同時進行の処理を視認性の高い状態で確認できます。本記事ではtilexの目的、実装、最小限のtmux設定について解説します。また、ユースケースの例として、AnthropicのClaude Codeと組み合わせる方法を紹介します。

以下のポストを見て、ターミナルマルチプレクサでやる方がとりまわしがいいかなと思って作りました。

https://x.com/DionysianAgent/status/1929337613292327231

実際に動作している様子は以下の動画の通りです。

https://youtu.be/QJdcDBhSq9Q

tilexが解決する課題

  • ペインの大量生成を手作業で行う手間を省きます。
  • 分割後のレイアウト調整を自動化し、常に均等なタイル配置を保ちます。
  • tmuxセッションの内外どちらからでも同じコマンドで使えます。

tilexの実装

以下の関数を~/.zshrc~/.bashrcに追加してください。

# tilex: <number> 個のペインで <command> を並列実行
# 使い方: tilex 4 -- python script.py
tilex() {
  local count session="multirun"

  # ---------- 引数パース ----------
  while (($#)); do
    case $1 in
      --) shift; break ;;
      [0-9]*) count=$1; shift ;;
      *) echo "Usage: tilex <number> -- <command>"; return 1 ;;
    esac
  done
  [[ -z $count || $# -eq 0 ]] && { echo "Usage: tilex <number> -- <command>"; return 1; }

  local cmd="$*"

  # ---------- セッション準備 ----------
  if [[ -z $TMUX ]]; then
    tmux new-session -d -s "$session" "$cmd"
    target="$session"
    created=1               # 1ペイン目は new-session で生成済み
  else
    target="."              # 現ウィンドウ
    created=0
  fi

  # ---------- ペイン生成 ----------
  for ((i = created; i < count; i++)); do
    tmux split-window -t "$target" "$cmd" && ((created++))
  done

  # ---------- レイアウト整形と接続 ----------
  tmux select-layout -t "$target" tiled
  [[ -z $TMUX ]] && tmux attach-session -t "$session"

  echo "✅ tilex: created $created/$count pane(s)."
}

実装のポイント

  • -- <command>形式:コマンド全体をダブルクオートせず渡せるようにします。
  • $TMUX判定:tmux内外どちらでも同じ書式で実行できます。
  • select-layout tiled:生成後に必ずタイル状へ整列し、均等なレイアウトを保ちます。

最小構成のtmux設定

以下に、tilexを使う上で設定しておくと良さそうな内容を書いておきます。

set -g mouse on                             # ペインをマウスクリックで選択可能にします
bind n split-window \; select-layout tiled  # 手動分割時も即タイル整列します
  • mouse onにより、ペインが増えてもマウスで直感的にフォーカスを切り替えられます。
  • bind n ...は「今いるペインを分割し、即タイルへ整列する」ショートカットです。tilexで生成した後に手動でペインを追加したい場合でも、レイアウトが崩れません。

この2行だけで、tilexと相性の良いtmux環境が整います。

ユースケース例:Claude Codeを並列実行

AnthropicのClaude Codeは、claudeコマンドによって起動します。tilexを使えば、以下のようにして同時に起動できます。

tilex 4 -- claude

tilexはClaude Code以外のどんなCLIコマンドにも利用できますが、ぶっちゃけこのユースケースのために作りました。

まとめ

tilexは、tmuxペインの一括生成とタイル整列を1行で実行し、CLIを並列で動かす作業を大幅に効率化します。大量のペインを開いてもマウスで直感的に操作でき、レイアウトは常に美しく保たれます。

tilexを導入して、コーディングAIエージェントを徹底的に駆使しましょう。

GitHubで編集を提案
GMOペパボ株式会社

Discussion