cmux

star 0

cmux ターミナルマルチプレクサのコマンドリファレンス。「cmux で」「ペイン分割」「隣のペインに送信」「ブラウザ開いて」「画面読んで」「通知」「ワークスペース」「cmux のコマンド教えて」など cmux 操作の場面で発動。

daiki-beppu By daiki-beppu schedule Updated 6/12/2026

name: cmux description: >- cmux ターミナルマルチプレクサのコマンドリファレンス。「cmux で」「ペイン分割」「隣のペインに送信」「ブラウザ開いて」「画面読んで」「通知」「ワークスペース」「cmux のコマンド教えて」など cmux 操作の場面で発動。

cmux — コマンドリファレンス

Note: 本文に記載のあるコマンド群に限定し、未収録のコマンドは保証しない。

cmux はターミナルマルチプレクサ。ペイン分割・画面読み書き・ブラウザ制御・通知・ ステータスバーなど、ターミナル環境を統合管理する。

環境変数

cmux ターミナル内では以下が自動設定される。コマンドのデフォルト値として機能するため、 自分のワークスペースやサーフェスを対象にする場合は省略できる。

変数 用途
CMUX_WORKSPACE_ID 全コマンドのデフォルト --workspace
CMUX_SURFACE_ID 全コマンドのデフォルト --surface
CMUX_TAB_ID tab-action / rename-tab のデフォルト --tab

ID の指定方法

コマンドで window / workspace / pane / surface を指定する際、3つの形式が使える:

  • refs(デフォルト出力): surface:1, workspace:2, pane:3
  • UUIDs: --id-format uuids で出力を UUID 形式に
  • indexes: 数値インデックス

出力から ID をパースするパターン:

# new-split は "OK surface:<id> workspace:<id>" を返す
SURFACE=$(cmux new-split right 2>&1 | awk '{print $2}')

レイアウト操作

ペイン分割

# 方向: left / right / up / down
cmux new-split right                              # 現在のペインを右に分割
cmux new-split down --surface surface:1           # 指定サーフェスから下に分割

# 新しいペイン作成(type: terminal / browser)
cmux new-pane --type terminal --direction right
cmux new-pane --type browser --direction right --url "https://example.com"

ペイン一覧・操作

cmux list-panes                                   # 現在のワークスペースのペイン一覧
cmux list-pane-surfaces                           # ペイン内のサーフェス一覧
cmux tree                                         # ワークスペースのツリー表示
cmux tree --all                                   # 全ワークスペースのツリー表示
cmux focus-pane --pane pane:1                     # ペインにフォーカス
cmux close-surface --surface surface:2            # サーフェスを閉じる

サーフェス移動・並び替え

cmux move-surface --surface surface:1 --pane pane:2   # 別ペインに移動
cmux reorder-surface --surface surface:1 --index 0    # 並び替え
cmux drag-surface-to-split --surface surface:1 right  # ドラッグで分割

画面読み書き

読み取り

cmux read-screen                                  # 現在のサーフェスの画面内容
cmux read-screen --scrollback                     # スクロールバック含む
cmux read-screen --lines 50                       # 最新50行
cmux read-screen --surface surface:2              # 指定サーフェスの画面
cmux read-screen --surface surface:2 --scrollback # 他サーフェスのスクロールバック含む

送信

cmux send "echo hello\n"                          # テキスト送信(\n で Enter)
cmux send --surface surface:2 "ls -la\n"          # 指定サーフェスに送信
cmux send-key Enter                               # キー送信
cmux send-key --surface surface:2 "C-c"           # Ctrl+C 送信

長文送信の注意: cmux send はターミナル入力のエミュレーション。 長文や改行を含むテキストはエスケープで壊れやすい。 長文は一時ファイルに書き出し、cat や Read で渡すのが安全:

# 長文を一時ファイル経由で渡すパターン
echo "長いテキスト..." > /tmp/cmux-msg.txt
cmux send --surface surface:2 "cat /tmp/cmux-msg.txt\n"

ワークスペース管理

cmux list-workspaces                              # 一覧
cmux current-workspace                            # 現在のワークスペース
cmux new-workspace --cwd /path/to/dir             # 新規(作業ディレクトリ指定)
cmux new-workspace --command "claude"              # 新規(コマンド実行)
cmux select-workspace --workspace workspace:2     # 切り替え
cmux rename-workspace "my-project"                # リネーム
cmux close-workspace --workspace workspace:2      # 閉じる

タブ操作

cmux new-surface --type terminal                  # 新しいタブ(ターミナル)
cmux new-surface --type browser --url "https://example.com"  # 新しいタブ(ブラウザ)
cmux rename-tab "API docs"                        # タブ名変更
cmux tab-action --action close --tab tab:1        # タブ閉じる

ウィンドウ管理

cmux list-windows                                 # 一覧
cmux current-window                               # 現在のウィンドウ
cmux new-window                                   # 新規ウィンドウ
cmux focus-window --window window:1               # フォーカス
cmux close-window --window window:1               # 閉じる
cmux rename-window "dev"                          # リネーム
cmux next-window                                  # 次のウィンドウ
cmux previous-window                              # 前のウィンドウ

通知・ステータス

通知

cmux notify --title "完了" --body "ビルドが終わりました"
cmux notify --title "エラー" --subtitle "CI" --body "テスト失敗"
cmux list-notifications
cmux clear-notifications

サイドバーステータス

cmux set-status "build" "running" --icon "hammer" --color "#f59e0b"
cmux set-status "test" "3/10 passed" --icon "check" --color "#22c55e"
cmux clear-status "build"
cmux list-status

プログレスバー

cmux set-progress 0.5 --label "Building..."       # 50%
cmux set-progress 1.0 --label "Done"              # 完了
cmux clear-progress

ログ

cmux log "処理を開始します"
cmux log --level warn --source "build" "依存関係が古いです"
cmux list-log --limit 20
cmux clear-log

ブラウザ制御

cmux browser サブコマンドを使う必要が出た時点で、references/browser.md を Read ツールで読んでから実行する。 以下に基本操作の概観のみ記載する(ナビゲーション・DOM スナップショット・スクリーンショット・DOM 操作・JS 実行など)。個別コマンドの完全なフラグ・オプションは browser.md にまとまっているため、SKILL.md 本文だけを根拠にフラグを推測しない。

cmux browser open "https://example.com"           # ブラウザペインを開く
cmux browser navigate "https://example.com"       # URL 遷移
cmux browser snapshot                             # DOM スナップショット(テキスト)
cmux browser snapshot --interactive               # インタラクティブ要素付き
cmux browser screenshot                           # スクリーンショット画像
cmux browser screenshot --out /tmp/shot.png       # ファイルに保存
cmux browser click "button.submit"                # 要素クリック
cmux browser type "input[name=q]" "search query"  # テキスト入力
cmux browser eval "document.title"                # JavaScript 実行
cmux browser url                                  # 現在の URL 取得

Markdown ビューア

cmux markdown open README.md                      # Markdown をフォーマット表示(ライブリロード対応)

tmux 由来の互換コマンド(一部)

tmux に慣れたユーザー向けに用意された限定的な互換レイヤー。以下に列挙するコマンドのみが保証対象で、tmux の全コマンドが動くわけではない(例: kill-session / rename-window などネイティブ tmux 由来のもの全てをサポートするわけではない):

cmux capture-pane                                 # read-screen と同等
cmux resize-pane --pane pane:1 -R --amount 10     # ペインリサイズ(-L/-R/-U/-D)
cmux swap-pane --pane pane:1 --target-pane pane:2 # ペイン入れ替え
cmux break-pane                                   # ペインを独立ワークスペースに
cmux join-pane --target-pane pane:1               # ペインを統合
cmux last-pane                                    # 直前のペインに戻る
cmux find-window --content "TODO"                 # ウィンドウ内テキスト検索

よくあるパターン

右分割して別ディレクトリでコマンド実行

SURFACE=$(cmux new-split right 2>&1 | awk '{print $2}')
cmux send --surface "$SURFACE" "cd /path/to/project && ls\n"

隣のペインの画面内容を取得

# 自分以外のペインを特定して読む
cmux list-panes                                   # ペイン一覧で ID 確認
cmux read-screen --surface surface:<id> --scrollback

ペインの構造を確認してから操作

cmux tree                                         # 現在のワークスペースの構造確認
Install via CLI
npx skills add https://github.com/daiki-beppu/dotfiles --skill cmux
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator