ターミナルアプリケーションはどんなOSでも標準で搭載しているアプリケーションはありますが、macOS標準でインストールされているターミナルは、特にTahoeになってから文字出力が遅く感じるようになりました。
以前のターミナルの使い方としてはリモートサーバーにSSH接続してリモート操作が中心でした。そのため、このような使い方では標準のターミナルだろうが、別のターミナルだろうが誤差レベルくらいにしか感じていませんでした。
最近はGitHub CopilotなどのAI AgentのCLI版をターミナルで使うことが多くなったので、標準のターミナルでは満足できない体になってしまいました。 そこで、もう少し使い勝手が良いものを探すことにしました。
Ghostty
まず使い始めたのがGhosttyです。
Ghosttyは高速で多機能、かつネイティブなUIを備えたターミナルエミュレータです。 開発者の一人にHashiCorpでVagrant, Packer, Terraform等を開発していたMitchell Hashimoto氏がいます。
くわしくは公式サイトに色々説明があるので省略しますが、重要なポイントとしてレンダリングにGPUが使われると言うことです。 そして速い。 レンダリングは、LinuxではOpenGL、macOSではMetalを使用するマルチレンダラーアーキテクチャを採用しているとのことです。CPUレンダリングでは無いと言うことは、GPUのバグでおかしくなる可能性はあるものの、大量に文字データを表示したりストリーミングするときに、さくさく動きそうです。
これは良いと思って使いはじめたのですが、まだまだリリースから浅いのもあって設定がテキストベースで行う必要があったり、かなキーと英数キーで日本語と英語の入力エンジンを切り替えるのがうまくいかなかったりする問題があり、基本機能としては満足だったものの、別のターミナルがないかなと調べていました。
WezTerm
次に見つけたのがWezTermです。
今、たとえば「macOS Terminal 代替」といったキーワードで検索すると、昔からの実績があるiTerm2、Ghostty、WezTerm等いくつかのターミナルをおすすめする記事がよく出てきます。Youtubeなどでもターミナルの比較をする動画が結構出てきます(私はこういう動画をYouTubeで観るのが好きです)。
www.youtube.com www.youtube.com
WezTermの特徴として、Luaを使った拡張性が上げられます。もちろんWezTermもGPUレンダリングされます。 WezTerm自身はRust言語で書かれていて、結構軽量に動きます。
設定はホームディレクトリーに.wezterm.luaと言う名前で設定を用意すればいいようです。
リンク先の冒頭にサンプルの設定が書かれていますが、日本で使うなら、次のような設定をしておくと良いと思います。 config.use_imeと言う設定が重要ですね。作者は日本人では無いので、デフォルトの設定のままでは日本語入力に支障が出ることがあります。 これを回避するオプションとしてconfig.use_imeと言うオプションが使えるようです。
-- 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 initial geometry for new windows: config.initial_cols = 120 config.initial_rows = 28 -- or, changing the font size and color scheme. config.font_size = 14 config.color_scheme = 'AdventureTime' -- IME(必ず config に入れる) config.use_ime = true -- How many lines of scrollback you want to retain per tab config.scrollback_lines = 3500 -- Finally, return the configuration to wezterm: return config
その他、表示フォントを変えたり、システムの外観モード(ライトテーマ、ダークテーマ)に合わせてターミナルの外観を変えたりするなど、決められた通りに設定を書いていくだけですぐその概観で使えるところが、私的に気に入っています。
リファレンスはこちら。
見た目はカラースキーマのところで上げられているような感じに切り替えられます。
Ghosttyも画面分割はできましたが、WezTermの場合は次のショートカットキーで分割できます。
- 縦に分割
- CTRL + SHIFT + Option(alt) + 5
- 上下に分割
- CTRL + SHIFT + Option(alt) + 2
もしくは「Shell」メニューからも画面分割できます。慣れればショートカットキー操作の方が効率的です。

たとえばこんな使い方もできますね。左側は操作用、右側はファイルを開いたり編集する用、下部はAI Agentなどを起動しておく用に使うとか。 また、手元のコードとリモートにあるコードを比較する時に左右画面分割のような使い方もよく行います。
画面分割した後は、しきりの部分をマウスでつかんで動かすと幅を自由に変更できるので、良い感じに使えそうです。

「iTerm2 inline images protocol」もサポートしているため、ターミナル上で画像ファイルの表示もできます。

「だから?」と言われたら困るのですが、わざわざプレビューアプリ等を開かなくても画像も開けるようになるので便利かなあって思います。
私は仕事柄、ターミナルとにらめっこなんてことが多いので、ターミナル環境はできるだけ使いやすいものを選択しておきたいですね。 今のところWezTermが私にとってナンバーワンです。