ローカルでtmuxを使ってサーバにSSHログインした後に、そのサーバ上でもtmuxを使いたいときの対処療法

tmuxを常用するようになって逆に困ったこと

前回記事より、tmuxを常用するようになり、逆に困ったことがあります。
それは、普段ローカルのTerminalでもtmuxを使っているため、いざサーバにsshログインしたときにもサーバ上でtmuxを起動し、tmuxが二重になってしまったい場合のことです。
二重になること自体は問題ないのですが、サーバのtmuxの操作をしようとすると、そのtmux用のキー操作がローカルのtmuxに奪われてしまい、サーバのtmuxが操作できないのです。

どっちかのtmuxのキーバインドを変えてしまう?

となると、ローカルかサーバ側かのどちらかのキーバインドを変更するしかなさそうです。
ただ、普段からずっとどちらかのキーバインドを変えておくのも不便です。

ということで、

tmux set-option -ag prefix C-b

といったコマンドで一時的にどちらかのキーバインド(メインで使わないほうの端末)を変更する方向で考えます。

現在の形

私の場合は、.zshenv に以下aliasを定義することにしました。*1

alias tmux-changekey='tmux set-option -ag prefix C-b'
alias tmux-revertkey='tmux set-option -ag prefix C-t'

これで、一時的にキーバインドを変更したいときは

tmux-changekey

戻したくなったら

tmux-revertkey

で戻すという感じにしてます。

*1:普段は C-t をprefixにしている