ターミナルを Warp から WezTerm に乗り換えてみた
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
試しに起動してみると、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 theCTRL+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 Tables や Fonts は結構沼。
今回は簡単に以下の設定を行いました。
-
Color Schemes
- カラースキーマ
-
Fonts(font_size)
- フォントサイズ
-
background(window_background_opacity)
- 背景の不透明度
config.color_scheme = 'nord'
config.font_size = 14.0
config.window_background_opacity = 0.9
あとがき
閲覧いただき、ありがとうございました!
現在は The これでいいんだよターミナルなイメージです。
使用感も気が向いたら書こうかなと思います。
そろそろ Neovim に触ってみる!
当方、VSCode + Vim キーバインドで満足している勢です。
ちなみに、 Warp から乗り換えたのは、 Mac か Warp 自体を再起動すると、割り当て先(表示されるデスクトップ)がなぜか特定のものになってしまい、ストレスがマッハだったからです。
参考
Discussion