WezTerm 使用記
始める前に
- WezTerm のインストールが必要
- macOS ユーザーは Homebrew でインストール可能(
$ brew install wezterm)
Lua について
- WezTerm の設定は Lua で定義
- Lua は他の動的プログラミング言語に似ていて読みやすい
- 複雑な設定のためには Lua を深く学ぶのがおすすめ
設定ファイルとフィードバックループ
- 設定ファイルは
$XDG_CONFIG_HOME/wezterm/wezterm.lua に配置
- 設定ファイルを変更すると自動でリロード
- デバッグオーバーレイ(
CTRL + SHIFT + L)でログを確認可能
外観設定
カラーテーマ
- WezTerm は 1,000 個以上のカラーテーマを提供
- 例:
config.color_scheme = 'Tokyo Night'
動的カラーテーマ
- 新しいウィンドウを開くたびにランダムでカラーテーマを変更するサンプルコードを提供
システム外観の尊重
- システムの外観モードに応じてカラーテーマを自動で変更
appearance.lua ファイルを作成して設定
フォント設定
- 既定フォントは JetBrains Mono
- 例:
config.font = wezterm.font({ family = 'Berkeley Mono' })
ウィンドウのスタイリング
- ウィンドウの背景透過度とブラーを設定
- 例:
config.window_background_opacity = 0.9
ステータスバー設定
- タブバー右側に Powerline スタイルのステータスバーを追加
- WezTerm のイベント API を使用
キー設定
基本キー割り当て
- 基本のキー割り当てを維持するか無効化可能(
config.disable_default_key_bindings = true)
キー割り当ての例
Option + Left Arrow と Option + Right Arrow を単語単位の移動に割り当て
- 設定ファイルを開くショートカットを設定(
CMD + ,)
マルチプレクサ機能
- WezTerm のマルチプレクサ機能を活用
- ウィンドウ分割ショートカットを設定(
CTRL + SHIFT + P)
リーダーキー設定
- リーダーキーを
CTRL + A に設定
- ウィンドウ分割ショートカットをリーダーキーと組み合わせて使用
ウィンドウ移動
- ウィンドウ間移動のためのキー割り当てを設定(vim 方向キーを使用)
ウィンドウサイズ調整
- ウィンドウサイズ調整用のキーテーブルを設定
- リーダーキーと組み合わせてウィンドウサイズを調整
プロジェクトワークスペース
ワークスペースの作成と切り替え
projects.lua ファイルを作成してプロジェクト切り替え関数を追加
- プロジェクト選択時に新しい WezTerm ワークスペースを作成
GN⁺ のまとめ
- WezTerm は Lua を使った柔軟な設定が可能で、多様なカスタマイズに対応
- 自動リロードとデバッグオーバーレイ機能により設定変更がしやすい
- マルチプレクサ機能とワークスペース管理機能に優れ、さまざまなキー割り当てで生産性を高められる
- 類似機能を持つターミナルとしては Alacritty と kitty がある
1件のコメント
Hacker Newsの意見
最近 WezTerm に移行してとても満足している。以前は kitty を使っていて、iTerm2 の設定やシンプルさが気に入っていた。WezTerm は標準で提供される機能がはるかに優れている。ターミナル設定は短く、エディタ画面にすべて収まる。その後はターミナルを気にする必要がなくなった
WezTerm は GitHub の issue への対応が非常に速く、通常は 1 日か 2 日以内に問題を解決してくれる。SSH 経由の modifier キーに関する小さな問題を除けば、機能はほぼ完璧だ。速くて良い
Kubuntu から Ubuntu に切り替える際、Konsole の一部機能(無限スクロールバック、スクロールバック検索)が欲しかったが、Konsole をインストールしたくなかったので WezTerm を入れた。WezTerm はすぐに気に入ったが、多くの機能が見つけにくい。ドキュメントは非常に良く、作者もとても積極的で親切だ
Mac Terminal、iTerm2、Kitty、Warp などを試したが、WezTerm に落ち着いた。設定が簡単で、速く、見た目も良い。テーマも作った
WezTerm の利点は何か? WezTerm は完全なクロス OS 対応で、Linux、macOS、Windows のすべてで使える。ターミナル設定を複数の OS で共有できる
WezTerm を約 1 年使っており、GitHub で Wez を支援している。WezTerm は素晴らしいターミナルで、開発者も素晴らしい。高速コピーやその他の copy mode を頻繁に使っている
iTerm2 を使い続けている理由は「Edit->Selection Respects Soft Boundaries」機能のためだ。この機能はパイプ文字
|をペイン区切りとして解釈し、それに合わせて選択範囲を折り返す他のユーザーの意見に同意する。macOS を使い始めてほぼ 10 年になり、iTerm2 を使ってきた。最近は遅くなり始めた。cmd-tab をすると、ターミナルが表示されるまで 1 秒以上待たなければならなかった
Wez は Rust によるシステムプログラミングに関する本を出版予定だ
OT: HashiCorp 創業者が作った Ghostty に最も期待している