Ghostty - Terminal emulator - My configuration
概要
2024 年 12 月 26 日にターミナルエミュレータの Ghostty が公開されました。このターミナルは、HashiCorp の創設者である Mitchell Hashimoto 氏が開発した OSS のターミナルとして注目が集まっています。
彼の経緯や開発経緯などは、ThePrimeagen と TJ DeVries との対談動画で詳しく語られていますので、興味がある方は、視聴をお勧めします。
また、GitHub の Discussion や Discord の Community も活発なので、参加してみると最新の情報を把握することができます。
結論
2025年3月現在、私の設定ファイルです。
# Theme
theme = catppuccin-mocha
# Font
font-family = JetBrainsMonoNL Nerd Font Mono
font-feature = -dlig
font-size = 17
font-style-bold = false
font-style-italic = false
font-style-bold-italic = false
font-thicken = true
font-thicken-strength = 1
alpha-blending = linear
adjust-cell-width = -1
adjust-cell-height = 2
# macOS
macos-titlebar-style = hidden
macos-window-shadow = false
# Window
window-padding-x = 10
window-padding-y = 10
window-padding-balance = true
# Shell
shell-integration-features = no-cursor
# Cursor
cursor-style = block
cursor-style-blink = false
cursor-invert-fg-bg = true
cursor-opacity = 0.8
# Other
mouse-hide-while-typing = true
resize-overlay = never
上記設定での動作デモになります。

ghostty ウェブサイトのソースコードを操作
インストール
公式ドキュメントの Install を参考にします。私は、Homebrew を使ってインストールしました。
brew install --cask ghostty

Homebrew でインストール
マニュアル man1 と man5 もインストールされていますので、ターミナルから参照可能です。
man 1 ghostty
man 5 ghostty
設定概要
ロケーション
設定ファイルは、$HOME/.config/ghostty に配置します。ファイル名は config で、JSON や YAML などのファイル形式ではなく、プレーンなテキストファイルになります。
mtouch $HOME/.config/ghostty/config

設定ファイルを作成し、vim で開いています。
シンタックス
設定ファイルのシンタックスは、とてもシンプルで key = value の形式になります。コメントアウトは、# で記述します。
# This is a comment
background = 1e1e2e
foreground = cdd6f4
設定の反映
Cmd + Shift + , で、設定ファイルを再読み込みできます。ただし、一部の設定は、Ghostty を再起動する必要があるので、注意が必要です。

vim で設定ファイルを開いて、background と foreground を適用しています。
設定の表示
ghostty +show-config コマンドで、設定ファイルの内容を表示できます。以下のオプションを組み合わせることで、設定のデフォルト値や変更点、ドキュメントを表示できます。
デフォルト設定
--default オプションで、デフォルト設定が表示されます。
ghostty +show-config --default

ghostty のデフォルト設定を表示しています
デフォルトから変更があった設定
--changes-only オプションで、デフォルトから変更があった設定が表示されます。
ghostty +show-config --changes-only

--changes-only オプションで、変更があった設定のみを表示しています
各設定のオプション上部にドキュメント追加
--docs オプションで、各設定のオプション上部にドキュメントが追加されます。
ghostty +show-config --changes-only --docs

--docs オプションで、ドキュメントを追加しています
grep コマンドで、特定の設定を抽出しても便利です。
ghostty +show-config | grep -E 'background|foreground'

background と foreground の設定のみを表示しています
設定オプション
theme
デフォルトで利用可能なテーマは、以下のコマンドで確認できます。vim のキーバインドも使用でき、j で下に移動、k で上に移動、/ で検索モード、q で終了します。
ghostty +list-themes

catppuccin のテーマを検索しています
適用したいテーマ名を theme キーに設定します。私は、catppuccin-mocha を使用します。
theme = catppuccin-mocha

catppuccin-mocha を適用します
font
font-family
デフォルトで利用可能なフォントファミリーは、以下のコマンドで確認できます。
ghostty +list-fonts

デフォルトで利用可能なフォントファミリーの一覧を表示しています
font-family キーに、フォントファミリー名を設定します。私は、JetBrainsMono の NL を使用しています。
font-family = JetBrainsMonoNL Nerd Font Mono
font-feature
こちらの Discussion で議論されていた日本語の文字化け対応として、dlig を無効化します。先頭のハイフン(マイナス)は、無効化を意味します。
font-feature = -dlig
font-size
デフォルトのフォントサイズは 13 ポイントです。少し大きめの 17 に設定します。
font-size = 17
font-style
フォントスタイルを設定します。bold、italic、italic-bold は、false に設定し無効化します。
font-style-bold = false
font-style-italic = false
font-style-italic-bold = false
font-thicken , font-thicken-strength
フォントの太さを調整します。デフォルトでは細く感じたので、少し厚みを持たせています。現在、macOS でのみ有効な設定になります。
font-thicken = true
font-thicken-strength = 1
alpha-blending
フォントの色空間を linear に設定し、明るいテキストカラーをより鮮明に表示しています。
alpha-blending = linear
adjust-cell-width , adjust-cell-height
フォントのセル幅とセル高を調整します。
adjust-cell-width = -1
adjust-cell-height = 2
上記のフォント設定を適用したのが、以下になります。

フォント設定を適用しています
macOS
macos-titlebar-style
hidden を設定すると、タイトルバーが削除されます。
macos-titlebar-style = hidden
macos-window-shadow
ウィンドウの影を無効化します。
macos-window-shadow = false

ウィンドウの影とタイトルバーを削除しています
window
window-padding-x
水平方向のパディングを設定します。
window-padding-x = 10
window-padding-y
垂直方向のパディングを設定します。
window-padding-y = 10
window-padding-balance
true に設定すると、4辺のパディングを可能な限り均等になるように調整してくれます。関連の Discussion は、how to remove right and bottom padding on macos にあります。
window-padding-balance = true
cursor
shell-integration-features
シェル統合のカーソル機能を無効化します。
shell-integration-features = no-cursor
cursor-style
カーソルのスタイルを設定します。block は、ブロックカーソルになります。
cursor-style = block
cursor-style-blink
カーソルの点滅を無効化します。
cursor-style-blink = false

カーソルスタイルをブロックに変更しています
other
mouse-hide-while-typing
true を指定した場合、入力を開始するとマウスカーソルが非表示になります。
mouse-hide-while-typing = true
resize-overlay
never を指定した場合、リサイズ時のオーバーレイが非表示になります。
resize-overlay = never
まとめ
Ghostty の導入と設定について、簡単に説明しました。macOS での操作方法を中心に解説しましたが、Windows や Linux でも、基本的には同様の手順で設定できると思います。皆さんも、自分好みの設定を試してみてください。
また、このような素晴らしいアプリケーションを提供してくれている Ghostty のコントリビュータ の方達に感謝の意を表します。そして、Thanks Mitchell Hashimoto.
更新履歴
- 2025年3月2日: 初版公開
- 2025年3月3日: 見出しレベル調整
Discussion
質問です。
もし同じ現象が起きていて解決したということでしたら教えていただきたいです。
Google日本語入力を使用されていて、ショートカット(Ctrl+Shift+j, Ctrl+Shift+;)で入力切替をされている場合、Ghosttyがアクティブになっている際に入力切替ができなくなった事はございますか?
環境
コメントありがとうございます!
私の場合、
Google日本語入力は使用したことがなく、入力切り替えの不具合が生じたこともないですが、以下の3点アドバイスになります。Ghosttyのデフォルトキーバインドとの競合確認以下のコマンドで、
ghosttyのデフォルトキーバインドを確認できるので、日本語入力切り替えのショートカットと競合していないかを確認する必要があります。日本語入力切替に「⌘英かな」ツールを使用
私は、USキーボードの日本語入力切り替えに、以下の「⌘英かな」ツールを愛用しています。こちらを使用することで、日本語入力の切り替えが楽になり、不具合も発生しなくなるかもしれません。
公式リリース版の使用
教えて頂いた
Ghosttyのバージョンは、メインブランチの最新コミットからビルドしたものかと思うのですが、公式ドキュメントでもソースコードからのビルドは推奨されていません。公式リリースの最新バージョンを「ダウンロードページ」もしくは「Homebrew」でインストールするのが良いかもしれません。以上です、また何かあれば教えてください🙋