TOKOROM BLOG

iOSとかVimとかその他日々の雑多な技術情報

tmuxでC-t C-tでのサイクルをより便利にする : 同じキーでpaneでもwindowでも行き来できるようにしてみた はてなブックマーク - tmuxでC-t C-tでのサイクルをより便利にする : 同じキーでpaneでもwindowでも行き来できるようにしてみた

Permalink

※tmuxのprefixキーが C-t 以外のかたはそのキーに読み替えをお願いします

導入

近頃の開発環境 : Mosh、z、tmux、Emacs、Perl について を読んで自分もC-t C-tでtmuxのペイン(pane)を行ったり来たりというのを真似してみた。

設定は以下のとおり。

  • .tmux.conf
1
bind C-t last-pane

これでpaneが複数ある場合には C-t を連打するだけで2つのpaneを行ったり来たりでき確かに便利。

ただ、じつはこの真似をする前には C-t C-t には last-window を割り当てており、paneを使っていないケースではそれはそれで便利だった。

例えば、設定を変えたことによって、paneなしで2つのwindowで作業しているときに C-t C-t で2つのwindow行き来しようと思ったらエラーとなりけっこうストレスがあったりした(慣れれば大丈夫なんでしょうけど)。

改善

ということで、

  • paneがあれば last-pane
  • paneがなければ last-window
  • ついでにwindowさえもなければ新しいwindowを作って移動

というのができれば最強なんじゃないかと思った。
そんなんできるんかいな?と思ったけどごくごく普通にできた。

設定は以下のとおり。

  • .tmux.conf
1
bind C-t run "tmux last-pane || tmux last-window || tmux new-window"

runはshを叩くことを意味し、last-panelast-windownew-window||で連結させている。
これで、last-paneから順番に試していき、成功したところで終わるという挙動になる。

便利便利!

Comments