tmux で 現在の pane をツリーで選んだ window に移動する

tmux で誤って (prefix) ! (break-pane) を押すと、現在アクティブな pane が新しい window に移動されてしまいます。これを元の window に戻したいとき、実は意外と簡単ではありません*1
それ以外にも window 間の pane を整理したいことがあります。pane を移動するには

(prefix) :join-pane -t 0.0

等のようにコマンドを実行する必要があり、window 指定方法を含めてちょっと覚えにくく面倒です。(0.0 は window 0 のデフォルトの pane という意味)


そこで以下のショートカットを .tmux.conf で設定しておくと、(prefix) j を押して現在のpaneを移動したい先のwindowをツリー表示から選ぶだけで良くなり便利です。

# Move pane to specified window
bind-key j choose-tree -w "join-pane -t '%%'"
操作例


ちなみに一時的に現在の pane を大きく表示したいだけであれば、(prefix) z (Zoom the active pane) が使えます。これは単にもう一度押すだけで元に戻ります。

*1:あまりbreak-paneを使わないなら無効化してしまっても良いのですが