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

この記事は投稿日から1年以上が経過しています。

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

導入

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

設定は以下のとおり。

  • .tmux.conf
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
bind C-t run "tmux last-pane || tmux last-window || tmux new-window"

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

便利便利!

所の執筆・監修した書籍

iOS 11 Programming

iOS 11 Programming

  • 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川 克己,所 友太,永野 哲久,加藤 寛人,
  • 製本版,電子版
  • PEAKSで購入する