名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

WezTerm の最低限のセットアップだけした

WezTerm を入れましたが、ずっとセットアップをさぼっていたので最低限の作業だけやりました。

WezTerm って何って方は下記のサイトを見ていただけると。 (ざっくりいうとターミナルエミュレーターです)

WezTerm - Wez's Terminal Emulator

ちなみに WezTerm については下記イベントのLTで知りました(資料は見た覚えがないかも) namonakimichi.hatenablog.com

自分は WezTerm を Windows 環境の WSL2 で少し前から使っています。 インストールについては winget でインストールしました。環境構築が便利な時代になりましたね。

今回の設定目標としたのは次の通りです。 なお設定値は Github Copilot の補助を受けながら書いています。

  • 設定ファイルを置く
  • デフォルトは WSL2 の Ubuntu-20.04 にする
  • カラースキームを Tokyo Night Storm (Gogh) にする
  • ォントは基本的に Utatane を使い、Jetbrains Mono で補助する
  • 現在アクティブのタブを目立たせる

設定ファイルを置く

これ最初配置場所がわからず、ずっと調べていました。 どうやら windows でインストールした場合 C:\Users\ユーザー名\.wezterm.lua に設定ファイルが置かれるのがデフォルト挙動のようです。

デフォルトは WSL2 の Ubuntu-20.04 にする

https://wezfurlong.org/wezterm/config/lua/config/default_domain.html

これを参考に default_domain を設定して、 default_progzsh を起動、デフォルトのディレクトリを WSL2 のホームディレクトリにしました。

local wezterm = require 'wezterm'

local config = {}

if wezterm.config_builder then
  config = wezterm.config_builder()
end

-- Ubuntu 20.04 をデフォルトで起動する
config.default_domain = 'WSL:Ubuntu-20.04'
config.default_prog = {"/usr/bin/env", "zsh", "-l", "-c", "exec /usr/bin/env zsh"}
-- username は自分のユーザー名に置き換えてください
config.default_cwd = "/home/username"

カラースキームを Tokyo Night Storm (Gogh) にする

デフォルトで大量のカラースキームが用意されています。 ここから探します。

https://wezfurlong.org/wezterm/colorschemes/index.html

最近 VSCode も Tokyo Night Storm にしているので、ターミナルも同じにしておきました。 Tokyo Night も少しだけカラーバリエーションがあるのですが、その中でも Tokyo Night Storm (Gogh) の選択色が見やすいのでこちらに決めました。

-- Tokyo Night Storm (Gogh) テーマにする。選択色が見やすい。
-- https://wezfurlong.org/wezterm/colorschemes/t/index.html#tokyo-night-storm-gogh
config.color_scheme = 'Tokyo Night Storm (Gogh)'

ちなみに VSCode のテーマはこちらです。

Tokyo Night - Visual Studio Marketplace

フォントは基本的に Utatane を使い、Jetbrains Mono で補助する

デフォルトのフォントが気に入らなかったので、 Utatane にしました。 ただ Utatane だけで表現できないものもありそうだったので、念のため Jetbrains Mono も指定しています。

また 4K のディスプレイで見ると、デフォルトのフォントサイズが小さすぎたので、16 にしました。

-- フォントは基本的に Utatane を使い、Jetbrains Mono で補助する
config.font = wezterm.font_with_fallback {
  'Utatane',
  'Jetbrains Mono'
}
config.font_size = 16

現在アクティブのタブを目立たせる

最後のアクティブのタブを目立たせることについてですが、思ったより難しかったです。

最終的にこちらの issue で紹介されている方法を使いました。

https://github.com/wez/wezterm/issues/1180#issuecomment-1492144299

この issue でもいくつかの解決方法が提示されているので、行く追加試してみるとよいでしょう。

もともと調べたところでは、 tab_bar_style でアクティブのタブを目立たせることができるという情報がありました。 ですが、各種プロパティが存在しないということで、サンプルすら動かず、諦めました。

issue あさっていたらいい方法があったので Github で調べてみるのも大事ですね。

感想

これで気に入る感じの見た目になったので、すごく納得しています。 もともと Windows Terminal Preview で設定していましたが、カラースキームが変更しづらい問題があり、そこが解決できたのは大きいです。

また、設定ファイルが Lua で書けるのも興味深いです。Lua 初めて書きましたが、JavaScript みたいだなとか思いました。 今後、Lua であれこれするというのは考えていませんが、WezTerm のついでに覚えるくらいはありなのかも? と思っています。

また設定ファイルを使いまわせば、複数の PC で同じ設定を使えるのも便利そうですね。フォントの準備が初手必要なことだけがネックですが…(こういうのは Ansible とかで持ってくるのいいんですかね?)