🐡

ターミナルを Warp から WezTerm に乗り換えてみた

2024/06/07に公開

WezTerm とは?

WezTerm is a powerful cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

  • Rust 製のターミナルアプリ
  • Linux、macOS、Windows 10、FreeBSD が動作対象
  • 設定ファイルを Lua で記述する
  • 設定ファイルのホットリロード機能あり
  • 作者は @wez さん

公式サイトを参考に早速触ってみた

インストール

Homebrew でインストールしました。((筆者の使用端末は Mac M3))

brew install --cask wezterm

Homebrew Formulae

試しに起動してみると、UI がシンプルで iTerm2 っぽさを感じました。
個人的に、初期設定だと文字が小さめな印象です。

公式サイトのクイックスタート を参考に Lua で設定を行う

ホームディレクトリに .wezterm.lua を作成し、テンプレートを記述してみます。
余談ですが、 Lua は Zenn や Qiitaの コードブロックのサポート言語の対象でした。

-- Pull in the wezterm API
local wezterm = require 'wezterm'

-- This will hold the configuration.
local config = wezterm.config_builder()

-- This is where you actually apply your config choices

-- For example, changing the color scheme:
config.color_scheme = 'AdventureTime'

-- and finally, return the configuration to wezterm
return config

WezTerm を再起動すると、 config.color_scheme の設定が適用されました!

wezterm will watch the config file that it loads; if/when it changes, the configuration will be automatically reloaded and the majority of options will take effect immediately. You may also use the CTRL+SHIFT+R keyboard shortcut to force the configuration to be reloaded.

ホットリロード機能があり、設定に変更があれば自動で適用してくれるのが良いですね。
Ctrl + Shift + R で強制的に更新することもできるそうです。

自動更新の有無は、以下の設定項目を追加することでオフにすることも可能です。
automatically_reload_config

なお、 wezterm コマンドラインで設定値を上書きすることもできるそう。

wezterm --config enable_scroll_bar=true
wezterm --config 'exit_behavior="Hold"'

設定項目一覧ページで他の設定も確認してみる

The return statement at the end of your wezterm.lua file returns a table that is interpreted as the internal Config struct type.

テンプレートにも記述があるように、config 構造体へ wezterm のモジュールを使用してフィールドを追加していくことで設定を行うみたいですね。

設定項目の数も多く、好きな人には刺さりそうな印象です。
キーバインド設定の Key TablesFonts は結構沼。

今回は簡単に以下の設定を行いました。

config.color_scheme = 'nord'
config.font_size = 14.0
config.window_background_opacity = 0.9

あとがき

閲覧いただき、ありがとうございました!

現在は The これでいいんだよターミナルなイメージです。
使用感も気が向いたら書こうかなと思います。

そろそろ Neovim に触ってみる!
当方、VSCode + Vim キーバインドで満足している勢です。

ちなみに、 Warp から乗り換えたのは、 Mac か Warp 自体を再起動すると、割り当て先(表示されるデスクトップ)がなぜか特定のものになってしまい、ストレスがマッハだったからです。
https://zenn.dev/k_saito7/articles/warp-hotkey-window#解決-1

参考

https://zenn.dev/monicle/articles/59ff479ae51c66

最高のターミナル環境を手に入れろ!WezTermに入門してみた。

Discussion