WezTermのタブとペイン分割を使いはじめた

公開

Zellij

前回、Zellijを使いじ始めた記事を書いたが、1日で投げてしまった。

理由は、NeovimとZellijのペイン移動が遅すぎること。Neovimの画面分割とZellijのペイン移動を同じキーで行えるようにするプラグインがあるのだけど、移動するだけで1秒ぐらいかかる。遅すぎる。頻繁にアクティブにするペインを切り替えるのでストレスが溜まる。

それでtmuxに戻るのもなんか違うなと思い、WezTermのタブとペイン分割を使うことにした。これに乗り換えて1週間ぐらい経つけど不満なく使えているので、Zellijよりはいい (自分にとっては)

Zellijで気になっていたNeovimとの移動も、ちょっと遅延が気になる時があるけど許容できるレベル。

メリット

WezTermの設定はLuaで書ける。なので、ちょっとしたコードを設定に書けるのがメリットだと思う。欲しい設定がなくても、複数の要素を組み合わせたら実現できる、ということがあるのが強み。

Zellijを使っていてよかったと思ったのが、ペインのサイズ変更の時にPrefix + hjklで行うのだけど、一度移動を開始したらPrefixなしでhjklを押すだけでサイズ変更ができること。Prefix + l→lllllllみたいなことができる。tmuxでもできたかもしれないが、Prefix + l → Prefix + lと入力していた。

WezTermではそういう設定は用意されていないが、Prefix + hjklでサイズを変更しつつ変更モードに入り、変更モードではhjklを押すとペインのサイズを変更できるという設定がLuaで書ける。便利。こういったプログラマブルな設定はNeovimに通ずるところがあると感じている。

デメリット

セッション機能がないので、WezTermが死ぬと全ウィンドウ、全ペインが無になることだ。tmuxやZellijを使っていると、WezTermが死んでしまってもセッションが生きていれば復旧できる。これは強い。

ターミナルが死ななくても表示などがおかしくなったり、CPUが100%張り付いたりなどが発生すると、すべてのタブやペインを閉じて再起動しないといけないという面倒さもある。

この点においてはtmuxやZellijの方が優れている。一度WezTermがクラッシュして悲しい思いをした。

あとは、WezTermにロックインしてしまうというのもデメリットだ。今後、WezTermの開発が終了したり、他にもっといいターミナルが出てきた時に乗り換えるのが大変になる。tmuxやZellijだとそれらの資産は別のターミナルでも使えるので、その点では利がある。

ただ、生成AIの登場により、独自の設定を書くのが大変ではなくなった。今のWezTermの設定もそこまで時間をかけなくてもtmuxやZellijでやりたいことが設定できてしまった。なので、他のターミナルに乗り換える時も簡単に設定できるんじゃないかと思っている。

ということで

セッション機能がないデメリットはあるけど、それを上回るメリットを感じているので今はWezTermのタブとペイン機能を使っている。カスタマイズできそうな余地はまだまだありそうで、これからが楽しみだ。

まだ設定が煮詰まっていないところがあるけど、今の設定は↓に貼っておくので、参考にするなりコピペするなりご自由に。

https://github.com/pupepa/dotfiles/blob/main/configs/wezterm/wezterm.lua