🙌

zellij の `Unlock First keybinding` を知って tmux から移行した話

に公開

TL;DR

  • 以前から tmux を使っており zellij のことは知っていたが、「zellijtmux と違って最初に prefix キーを押す形式じゃないからキー衝突が気になるなー」と思っていた
  • 調べたところ zellijUnlock First Keybinding がまさしく tmux と同じく最初に prefix キーを押す形式であり、キー衝突が気にならないモードだった
  • それを知って zellij に移行することを決めた

tmux を使用する私

以前から tmux を使用していました。使用するきっかけになったのは会社の先輩で tmux を使っている方がいて使ってみたいと思ったからです。
結果として結構気に入ってました。特に使用していた使い方は以下のような感じです。

  • 複数 window を開いて切り替える
  • 二つの pane を横並びに開いて片方を見ながら作業する
  • 複数 pane を開いている時に片方を全面表示する

pane や window を操作するという基本的な使い方ですね。

zellij への印象

zellijtmux を使いやすくした新しいソフトウェアで、見やすさなどは tmux に優っているという認識でした。

ただ、zellijtmux と違って操作に ctrl + p などターミナルでよく使用するキーバインドと衝突するようなキーバインドになっており、それだったら最初に prefix キーを押してから操作する tmux のほうがいいんじゃないかなーと思っていました。

tmux と zellij を再考する

年末に時間に余裕があったので、今まで使っていたツールについて再検討していました。その中で改めて tmux について考えた時に、「vim の which key のようにキーバインドが画面に表示されるようになったらいいよなあ」と思いました。

しかし調べてみるとそういったことを実現するのは難しそうでした。
その時にふと思いったって zellij の移行についても検討してみました。

zellij の Unlock First keybinding がいい感じ!

まず最初に気づいたのは zellij にはデフォルトのキーバインド(ctrl + p でペイン操作など)の他にもう一つ Unlock First Keybinding というキーバインド設定が用意されているということです。(公式チュートリアル)

そしてこれがまさしく私が懸念していたキーバインドの衝突を回避してくれる設定だったのです。

Unlock First Keybindingにおいては、zellij の全ての操作を prefix キー(デフォルトは ctrl + g)を押してその後にキーで操作を行うというまさしく tmux と同様の操作感で操作できるモードになります。

この設定の存在を知って一気に zellij の存在が魅力的なものに見え始めました。

zellij のキーバインドの方がわかりやすい!

キーバインドについても、zellij の方がわかりやすいなと思いました。
zellij のキーバインドは全てモード選択をしてから操作を選ぶといった感じになっています。

例えば pane を新しく開く場合は prefix + p (ペイン操作モードに入る) > n (pane を新規作成) といった感じです。
tmux と比較するとキー操作が多くなってしまいますが、モードが分かれている分それぞれのキーバインドについては直感的に理解しやすいものが多いです。

また前述のようにキー操作は常に画面下に表示されるのでそれを見ながら使っていけばすぐに使いこなせるようになります。

zellij は設定を変えなくても使いやすい!

tmux は使うにあたって設定を変えるのが実質必須みたいな扱いになっていました。
マウス操作を有効にする のような基本的な設定を有効にするためであったり、ペイン移動を vim の hjkl で方向移動するためのキーバインドを設定したり。。

一方 zellij であれば自分が tmux で設定したような基本的な設定は全てデフォルトで設定されているようでした。
hjkl での移動もデフォルトで設定されているのも地味に嬉しいですね。

zellij に移行しました

そういった検討ののち、tmux から zellij に移行することにしました。
今のところ満足しています。

今回の記事を読んで zellij が気になった方はぜひ一度 zellij を使ってみてください!

Discussion