最近流行の Ghostty を試してみた(設定付き)

技術

はじめに

以前の記事では、「結局 iTerm2 に戻った」という話を書いた。

長年使ってきた安心感や完成度を考えると、当時の判断は妥当だったと思っている。

ただ最近、エンジニア界隈でやたらと名前を見るようになったターミナルがある。
それが Ghostty だ。

正直に言うと、最初は「また新しいターミナルか」という程度の印象だった。
Alacritty、WezTerm、Warp……
この手の話題は何度も見てきたし、どれも一長一短で、結局 iTerm2 に戻った経験がある。

それでも Ghostty は、
「ちょっと触ってみるか」
と思わせる何かがあった。


Ghostty とは

Ghostty は macOS / Linux 向けのターミナルエミュレーターで、

  • GPU を使った高速な描画
  • OS ネイティブな UI との親和性
  • シンプルで分かりやすい設定ファイル
  • 必要以上に機能を盛らない設計

といった特徴を持つ。

実験的なツールというより、
日常の開発作業で普通に使うことを前提に作られている
そんな印象のターミナルだ。

Ghostty
Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.

なぜ iTerm2 のあとに Ghostty を試したのか

iTerm2 は今でも非常に完成度が高い。
戻った当時も、大きな不満があったわけではない。

それでも Ghostty を試した理由は単純で、

「今どきのターミナル体験が、どこまで“当たり前”になっているのか」

を自分の手で確かめたかったからだ。

ターミナルは毎日、何時間も使う道具だ。
だからこそ、ほんの小さな快適さの差が積み重なる。


使ってみて感じたこと

良かった点

まず感じたのは、初期状態の完成度の高さ

フォント、配色、余白、ウィンドウ挙動など、
最低限の設定だけで、すぐに実用レベルになる。

特に macOS との相性は良く、

  • 透明なタイトルバー
  • 自然なフルスクリーン挙動
  • 変に主張しない UI

といった点は、長時間使っても疲れにくい。

描画も軽く、ログが大量に流れる場面で
「あ、軽いな」と感じる瞬間は確かにある。


気になった点

一方で、成熟度という意味では iTerm2 にはまだ及ばない

GUI で細かく調整できる安心感や、
長年積み重ねられてきた機能の厚みは、やはり iTerm2 の強みだ。

Ghostty は「何でもできる」ターミナルではない。
むしろ、

必要なことを、きちんと、速くやる

という思想がはっきりしている。


実際に使っている Ghostty の設定

Ghostty の設定は項目数が少なく、名前も直感的だ。
その分、なぜこの設定にしているのかをコメントとして残しやすい

以下が、現在使っている設定とその意図になる。

フォント・テーマ

# 使用するフォント。Nerd Font が必要なため Hack Nerd Font Mono を選択
font-family = Hack Nerd Font Mono

# フォントサイズは 15pt。Retina 環境で可読性と情報量のバランスが良い
font-size = 15

# カラーテーマ。コントラストが強すぎず、長時間作業向き
theme = Flexoki Dark

# 行間を少し広げて可読性を向上させる
adjust-cell-height = 10%

ウィンドウ余白と macOS ネイティブ挙動

# 横方向のウィンドウ内余白
window-padding-x = 10

# 縦方向のウィンドウ内余白
window-padding-y = 10

# リサイズ時も余白を均等に保つ
window-padding-balance = true

# macOS のタイトルバーを透明にして UI の一体感を出す
macos-titlebar-style = transparent

# macOS 標準のウィンドウシャドウを有効化
macos-window-shadow = true

# キーボード入力中はマウスカーソルを自動的に隠す
mouse-hide-while-typing = true

余白は見た目だけでなく、
情報量を適切に間引くための設定だと思っている。


コピー・クリップボード

# テキストを選択した時点で自動的にコピーする
copy-on-select = true

# 外部アプリからクリップボード内容を読み取ることを許可
clipboard-read = allow

# ターミナルからクリップボードへ書き込むことを許可
clipboard-write = allow

選択=コピーは好みが分かれるが、
ログや一時的なコードを拾う用途では非常に効率が良い。


画面分割と操作系キーバインド

# Cmd + Enter で下方向に画面分割
keybind = cmd+enter=new_split:down

# Cmd + Shift + Enter で右方向に画面分割
keybind = cmd+shift+enter=new_split:right

# Cmd + 矢印キーで分割したペイン間を移動
keybind = cmd+left=goto_split:left
keybind = cmd+right=goto_split:right
keybind = cmd+up=goto_split:top
keybind = cmd+down=goto_split:bottom

# Cmd + Shift + 矢印キーでペインサイズを調整
keybind = cmd+shift+left=resize_split:left,20
keybind = cmd+shift+right=resize_split:right,20
keybind = cmd+shift+up=resize_split:up,20
keybind = cmd+shift+down=resize_split:down,20

# Cmd + W で現在のペイン(surface)のみを閉じる
keybind = cmd+w=close_surface

tmux は使わず、
ターミナル側の分割機能だけで完結させる運用を前提にしている。


カーソル・スクロールバック・リンク

# カーソル形状をブロック型にして視認性を高める
cursor-style = block

# カーソルを点滅させ、位置を見失いにくくする
cursor-style-blink = true

# スクロールバックの上限を 1GiB に設定
# Ghostty は行数ではなくバイト数指定
scrollback-limit = 1073741824

# シェル統合機能を有効化
# cursor : カーソル制御
# sudo   : sudo 実行時の状態管理
# title  : ターミナルタイトルの自動更新
shell-integration-features = cursor,sudo,title

# URL をリンクとして認識し、クリック可能にする
link-url = true

スクロールバックを 1GiB にしているのは、
大量ログを扱う際に「遡れない」ストレスを避けるためだ。


設定してみて思ったこと

Ghostty の設定は、

  • 項目が少ない
  • 名前が直感的
  • 意図をコメントとして残しやすい

という点で、とても扱いやすい。

iTerm2 の GUI 設定の安心感はないが、
テキストで完結し、思想を残せる設定という意味では
Ghostty の方が好みだと感じている。


まとめ

Ghostty を使ってみて感じたのは、
ターミナルという道具に対して
「今の感覚で必要なものだけを、きちんと揃えてきた」
という印象だ。

iTerm2 は今でも非常に完成度が高く、
長年使われてきた理由もよく分かる。
一方で Ghostty は、

  • 設定が素直で分かりやすい
  • macOS ネイティブな体験に自然に溶け込む
  • 余計な機能に振り回されない

という強みを持っている。

今回紹介した設定も、
「凝っている」というより 無理なく日常に馴染ませた結果 だ。

現時点での結論としては、

Ghostty は iTerm2 の代替として十分に実用的で、
少なくとも“試す価値は確実にある”ターミナル

という評価になる。

しばらくはこのまま Ghostty をメインに使い続けて、
もし iTerm2 に戻りたくなったら、その理由も含めてまた書きたい。

コメント

タイトルとURLをコピーしました