tmuxのペインを他のウィンドウに簡単に移すキーバインドを設定してみた

   2017/05/01

~/.tmux.conf

1 # 前のウィンドウに移動
2 bind -n M-h previous-window
3 # 次のウィンドウに移動
4 bind -n M-l next-window
5 # 選択されているペインを右側にあるウィンドウへ移動する
6 bind -n S-Right join-pane -h -t :+
7 # 選択されているペインを左側にあるウィンドウへ移動する
8 bind -n S-Left join-pane -h -t :-
9 # 選択されているペインを現在のウィンドウから、新ウィンドウを作成しそこに移動する
10 bind -n S-Down break-pane

bind(bind-keyの別名)に -n をつけるとtmuxのPrefixキーをタイプする必要がなくなります。

まず、2行目は、メタキー(alt)と hキーを押すことで現在アクティブなウィンドウから左側のウィンドウ(ウィンドウタブ番号の小さい方向)へ移動できます。

bind -n M-h previous-window

同様に4行目は、メタキー(alt)と lキーを押すと現在アクティブなウィンドウから右側のウィンドウ(ウィンドウ番号の大きい方向)へ移動できます。

bind -n M-l next-window

ここから本題。 6、8,10行目は、ペインを他のウィンドウに移したり、選択されているウィンドウ上のペインを、新ウィンドウ上に移動する設定になります。まず、6行目が Shiftキーと右矢印キーで現在カーソルがあるペインを右側にあるウィンドウへと移します。

bind -n S-Right join-pane -h -t :+

8行目がその逆で、Shiftキーと左矢印キーでペインを左のウィンドウへと移動させます。

bind -n S-Left join-pane -h -t :-

10行目は、Shiftキーと下矢印キーで選択されているペインが新しく作成されるウィンドウ上に移動する設定となります。

bind -n S-Down break-pane

ペインを他のウィンドウに移動する操作は、tmuxを使いこなす で説明した方法(:join-pane -t 移動先のウィンドウのタブ番号)よりずっと楽ではないでしょうか?

補足

Mac(OSX)のiTerm2でメタキー(alt)を有効にするには、iTerm2 -> Preferences -> Profiles -> Keys を選択肢、画面下にある “Left option key acts as:” および “Right option key acts as:“の両方を “+Esc”に変更するとよいでしょう。

WindowsのTeratermでは、設定 -> キーボードの設定 -> Meta キー のプルダウンメニューをOnにすると動作するようになると思います。

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら