WezTerm
私にとって WezTerm は、基本的に Windows のために存在します。最大の利点は、1つの Lua 設定ファイルで Linux/macOS/Windows のすべてが認識できるため、その Windows マシンでそのまま再利用でき、chezmoi を通じて同期されるため、ターミナルを個別に管理する必要がないことです。
設定の中で実際に体感に影響する部分は数行だけです:
config.front_end = "WebGpu" -- GPU(Vulkan/Metal/DX12)を使用し、スクロールや大量の出力をスムーズに
config.max_fps = 144 -- 高リフレッシュレートディスプレイに追従し、60fps にロックしない
config.font = wezterm.font("JetBrains Mono") -- エディタや Ghostty と同じフォントセット
-- Ctrl+Shift の組み合わせによるタブ/ペイン切り替えのショートカットキー
特筆すべきは、WezTerm はマルチプレクサ機能を内蔵していることです(ペイン/タブ/セッション、さらには mosh のようにリモート mux 接続も可能)。Lua でイベントフックを記述することで、非常に深いカスタマイズも可能です。Windows では内蔵のタブ機能のみを使用しており、日常使いには十分で、他のマルチプレクサを重ねて使う必要はありません。
しかし Linux 側では、これらの機能をあえて使わず、Ghostty と Zellij で役割を分担しています——これが本当に伝えたいことです。私の習慣は、ターミナルはレンダリングのみを担当し、セッション管理はマルチプレクサに任せるというものです。こうすることで、接続が切れたり、うっかりウィンドウを閉じたりしてもセッションは維持され、ペインのレイアウトは保存され、キーバインドはどのターミナルでも一貫します。ターミナルは交換可能なレイヤーとなり、別のターミナルに変更してもワークフローに影響がありません——これが、Ghostty と WezTerm の間で簡単に切り替えられる理由です。