tags : tmux, WezTerm

概要

ターミナルマルチプレクサ。セッション永続化・画面分割・複数プロジェクト管理を提供する。

  • WezTerm と併用。WezTerm のペイン機能と重複するが、セッション永続化が最大のメリット
  • ターミナル(WezTerm)を閉じてもプロセスが生き続ける
  • mac 再起動や tmux kill-server では消える

階層構造

セッション (session)
 └─ ウィンドウ (window)    ← ブラウザのタブに相当
     └─ ペイン (pane)       ← タブ内の画面分割

カスタム設定

設定ファイル: ~/.config/tmux/tmux.conf dotfiles で stow 管理: dotfiles/tmux/.config/tmux/tmux.conf

Prefix: C-s

  • デフォルト C-b は押しにくいので変更
  • WezTerm の leader C-, と競合しない

ペイン操作 (Prefix + w → key table)

WezTerm の leader + w と同じ階層構造。

キー操作
/横分割
-縦分割
h/j/k/lペイン移動
wペイン番号選択 (3秒表示)
dペイン削除
z最大化/復帰
rリサイズモード (h/j/k/l で調整、q/Esc で抜ける)

ウィンドウ操作

キー操作
Prefix + t新規ウィンドウ
Prefix + h/lウィンドウ移動 (-r でリピート可、500ms)
Prefix + 1/2/3番号で切替

セッション操作

キー操作
Prefix + sセッション一覧 (j/k 選択、x で削除)
Prefix + dデタッチ
Prefix + :コマンドモード → new-session -s name

コピーモード (vi風)

キー操作
Prefix + [コピーモード開始
v選択開始
yコピー (pbcopy)
q終了

マウスホイールでもスクロール可能。

その他

キー操作
Prefix + r設定リロード
Prefix + ?キーバインド一覧
  • マウス操作有効(ペイン選択・リサイズ・スクロール)
  • Dracula テーマ(WezTerm と統一)
  • True Color 対応、OSC パススルー有効

zsh 連携 (.zshrc)

WezTerm 起動時の自動接続

tmux 外のときだけ発動する fzf セッション選択。

操作結果
セッション名を選択そのセッションに接続
(no tmux) を選択tmux なしの素のシェル
Esc (何も選ばない)main セッションを新規作成

ta コマンド

alias ta='tmux attach -t $(tmux list-sessions -F "#S" 2>/dev/null | fzf --reverse) 2>/dev/null || tmux new -s main'

どこからでも fzf でセッション選択 → 接続できる。

今後の拡張候補

  • tmux-resurrect: セッション永続化(mac 再起動後も復元)
  • tmux-continuum: 自動保存
  • fzf セッション選択の display-popup