5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

皆さんはターミナルエミュレータ、何度ご引っ越しされました?

私、iTerm2 → Warp → Alacritty → Ghostty → WezTerm → Alacritty とここ3年ちょっとでいろいろ渡ってきました...。

「3年で5回!転勤族でもそんないるの?」って感じ。

ターミナルって僕らの仕事道具の中でもかなり主要ですよね。
ものづくりに携わる身において、こだわり持つべき道具だよなぁと感じてます。

結局ここ半年くらいは Alacritty で仕事してるんですが、
今回の記事では選定軸だったり比較だったり、そういった話ができればと思います。


レビュー記事的な感じです。今回は(今回も?)緩く書きます。

記事中に「ターミナルエミュレータはシェルとのI/Oであるべき」という表現が登場します。

概念的に伝わればいいかなとそう表現した感じです。
正確にはシェル直接じゃないっすね。PTYを介してですね。

1. 僕がターミナルエミュレータに求める要件

正直なんでもいいです。合わせます。
(と口では言いつつも、大体譲れない要件があるんですよね笑。)

  • 設定がGUI依存じゃない
  • 軽量
  • アプリ独自のキーマップがない
  • 好きなフォントが使える
  • tmux との親和性
  • シェルとのI/Oに徹してる

ほら...、なんでもよくない笑。

2. ターミナル遍歴

iTerm2 時代

この頃はですね。
パソコン触り始めたばっか(業界入ったばっか)だったので皆が使ってたものを使ってた感じです。

なので、選定理由は以下。

  • 皆が使ってる
  • 初学者にやさしい技術記事が多い

そんな理由で使ってました。この頃はまだIDE(vscode)使ってましたねぇ。

Warp 時代

Rust 製で『軽い!速い!ターミナルがある!』みたいな情報が入ってきたので、その流れに乗った感じです。

実際、チーム開発におけるワークスペース機能や履歴、プロンプト等、ターミナル自身の機能が充実してたので助かった思い出があります。
開発効率もぐっと上がったターミナルだったなと。

ただ、当時だと一部IME(日本語)との相性とかでストレス感じてた記憶もありますね。
(すみません、今はわかんないです)

当時は社内でもかなり流行ってました。
Warp のリリース情報ウォッチしてたり、「Warp 普及勉強会!!」みたいなのを社内で開いてましたね。

この頃もIDE(vscode)使ってましたねぇ。

Alacritty

iTerm2もWarpも良いターミナルではあるんですが、ちょっと多機能すぎるんですよね。

iTerm2の「ターミナル上でブラウジングも出来ますよ。」というそんな機能を試した直後に「いや、ブラウザでいいじゃねぇか、ターミナルなら curl でいいじゃん。」と思い、
Alacritty に引っ越しした記憶があります。

ターミナルエミュレータが付加価値を持つ意義について疑問を持ち始めた頃ですね。

というのも。

ターミナルエミュレータの責任ってシェルとのI/Oじゃね?」「描画に徹した薄いレイヤーに凝集してほしくね?」と思い始めてたので、画面分割・ウィンドウ分割を内包しなくていいな、と。

むしろ、自身のシェル環境(tmux)とバッティングするリスクあるよなと。

って所で。

なんか軽くて素朴なターミナルねぇの。と思い、調べてたら Alacritty に行き着いた感じ。

アプリのファイルサイズ、 14.6 MB ですよ。すごすぎません?

この頃からIDE(vscode)消しました。neovimで仕事するようになりましたね。

実は、余計な機能が削がれてるからこそ困ってた部分もありました。(それが Ghostty に乗り換えた理由なんですが)
一部文字(主にアイコン)の描画が出来ないんですよね。

解消方法はこちら:

という理由で、Ghostty に乗り換えました。

Ghostty

まぁ安定だなぁって感じです。

軽さは Alacritty には勝てないですが(正味人間の体感ではわからんレベル)、機能が充実してますね。
(私の環境で 64.1MB とか)

機能が充実してるからこそ、ストレスを感じることが多かったです。(ただのないものねだり)

例えばですが、デフォルトのキーマップ設定です。
ctrl + dexit したいんですが、Ghosttyだとタブ分割されるのが全く慣れなかった思い出があります。

俺「シェル落としたい。ctrl + d!!」
Ghostty「タブを横に分割したよ。」
俺「まじでなんやそれ。」

みたいな感じ。

その他にも、「別 tmux あるから使わねぇのにな」って思うような タブ分割機能、ウィンドウ分割機能が、誤操作で発動するなど、私の開発スタイルと微妙に合わないことが多かった印象です。

ドキュメント漁りまくって、「全キーマップを無効にする」とかやってましたね。
Ghostty に乗り換えてギャップがすごかったので、いろんな機能を無効にしてました。(多分私の dotfiles に設定残ってるはず)

って意味でほんとに Ghostty じゃなくていいよな、って感じたのもあって、この頃WezTermも試してみました。

(あまり期間長くないのですが)WezTerm

3日ほどしか使ってないので使用感はちゃんとレビューできないんですが、基本的にはGhosttyと同じ理由で長居しなかった感じです。

デフォルトで出来ることが多すぎて、乗り換えたときのギャップが大きかった。Ghosttyと同じ課題感でしたね。

ただ、Lua言語で設定を管理出来るのは今でもすごく魅力だなと思ってます。いつか気が向いたらまた試すかも。

で、この頃にまとまった時間が取れたタイミングで Alacritty のフォント描画問題を解決できたので、出戻りした感じです。

フォントの描画が出来ない現象と解消方法は以下をどうぞ。

3. (偏見ありつつも)比較

ターミナル 良い点 辞めた理由
iTerm2 とりあえず困らない。安定。 GUI依存の設定。重い。ブラックボックス感。
Warp 多機能。開発効率UP。 多機能すぎ。クラウド・AI連携で冷めた。重い。
Ghostty 軽量。多機能。 デフォルトキーマップがtmuxと干渉。タブ・ウィンドウ管理の誤操作が多い。
WezTerm Lua設定が魅力。機能豊富。 Ghosttyと同じ課題感。多機能すぎてギャップが大きかった。3日で離脱。
Alacritty 軽量。シンプル過ぎてちょうどいい。 特になし。辞めてねぇ。

4. 「やっぱ Alacritty がいい!」理由

tmux との相性が抜群

シェルとのI/Oに徹してる Alacritty と、タブ・ウィンドウ・セッション管理してくれる tmux が全く干渉しない、このシームレスさが最高!

Alacritty has many great features, but not every feature from every other terminal. This could be for a number of reasons, but sometimes it's just not a good fit for Alacritty. This means you won't find things like tabs or splits (which are best left to a window manager or terminal multiplexer) nor niceties like a GUI config editor.

公式Githubでも「タブや分割は multiplexer に任せろ」ってスタンスみたいです。
私の開発スタイルと合ってます👍

軽い

アプリのファイルサイズ、14.6 MB です。

ストレージも邪魔にならないし、起動も瞬時。他のターミナルと比べると異次元ですよね。
20MB切ってるってまじで意味わかんない。

設定が迷わない

公式ドキュメントがものすごく読みやすいです。
設定できる範囲が限られてる分、dotfiles の管理コストも低く抑えられます。

ドキュメント読む時間が短くすみますよね。

コミュニティが信頼できる

リリースもわりと頻度高めでやってるみたいです。

Alacritty Ghostty
Githubスター数 64.3 k 55.8 k
Open Issue数 326 146
Open PR数 15 98
直近リリース日 2026/04/07 2026/03/14
公式メンテナ人数 2人 32人

※ データは2026/06/03時点のもの

このデータをどう読むかはその人次第な気がします〜。

5. 私の Alacritty の設定をちょっとご紹介

設定量が少ないのも Alacritty の魅力のひとつです。私の設定、全体で 60 行程度しかありません。

dotfiles で管理してるので、気になる方は覗いてみてください。

ターミナル起動で即 tmux にアタッチ

一番のお気に入り設定です。

[terminal]
shell = { program = "/bin/zsh", args = ["-l", "-c", "tmux a -t 0 || tmux"] }

Alacritty を起動すると自動で tmux にアタッチさせてます。セッションがなければ新規作成ですね。
この辺は、ghq + fzf連携ありきでやってる感じです。

なので「素のzshell」が立ち上がることがなく、常に tmux 環境からスタート出来る感じです。

テーマは Kanso Ink

完全に好みなので流して下さい

渋めの配色使ってる感じです。ちょっと落ち着いた暗さで目に優しいです。
長時間作業しても疲れにくい気がしてます(気がするだけかも)。

フォントは MintMono

[font]
normal = { family = "MintMono Nerd Font Mono", style = "Regular" }

size = 12.0
offset = { x = -8, y = 8 }

Nerd Font を使っているのはアイコン描画のためです。
以前 Alacritty でアイコンが文字化けしてた話を書きましたが、フォントをちゃんと設定すれば問題なく使えます。

余白、行間を結構広めに設定してます。

6. まとめ

今回はゆるーく比較記事的な感じでターミナルエミュレータへのこだわりを書いてみました。

ターミナル選びって「何を求めるか」次第だなと改めて感じます。多機能を求めるなら Warp や Ghostty、シンプルさと dotfiles との相性を重視するなら Alacritty、という感じでしょうか。

私は tmux に全部任せるスタイルに落ち着いたので、ターミナルエミュレータ自体には「描画に徹した薄いレイヤー」であってほしい。
そう考えると Alacritty 以外の選択肢が今のところないですね。

この業界、トレンド変わるの速すぎるので半年後はまた変わってるかもですね笑。
そしたらまた記事書きたいです。

みなさんの開発体験にちょっとした刺激でもお届けできたのであれば幸いです。

以上です。ここまで読んでいただきありがとうございます。

関連

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?