Zenn
👻

Ghostty - Terminal emulator - My configuration

2025/03/02に公開
1

概要

2024 年 12 月 26 日にターミナルエミュレータの Ghostty が公開されました。このターミナルは、HashiCorp の創設者である Mitchell Hashimoto 氏が開発した OSS のターミナルとして注目が集まっています。

彼の経緯や開発経緯などは、ThePrimeagenTJ DeVries との対談動画で詳しく語られていますので、興味がある方は、視聴をお勧めします。

また、GitHubDiscussionDiscordCommunity も活発なので、参加してみると最新の情報を把握することができます。

結論

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 でインストール

マニュアル man1man5 もインストールされていますので、ターミナルから参照可能です。

man 1 ghostty
man 5 ghostty


設定概要

ロケーション

設定ファイルは、$HOME/.config/ghostty に配置します。ファイル名は config で、JSONYAML などのファイル形式ではなく、プレーンなテキストファイルになります。

mtouch $HOME/.config/ghostty/config


設定ファイルを作成し、vim で開いています。

シンタックス

設定ファイルのシンタックスは、とてもシンプルで key = value の形式になります。コメントアウトは、# で記述します。

config
# This is a comment

background = 1e1e2e
foreground = cdd6f4

設定の反映

Cmd + Shift + , で、設定ファイルを再読み込みできます。ただし、一部の設定は、Ghostty を再起動する必要があるので、注意が必要です。


vim で設定ファイルを開いて、backgroundforeground を適用しています。

設定の表示

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'


backgroundforeground の設定のみを表示しています

設定オプション

theme

デフォルトで利用可能なテーマは、以下のコマンドで確認できます。vim のキーバインドも使用でき、j で下に移動、k で上に移動、/ で検索モード、q で終了します。

ghostty +list-themes


catppuccin のテーマを検索しています

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

config
theme = catppuccin-mocha


catppuccin-mocha を適用します


font

font-family

デフォルトで利用可能なフォントファミリーは、以下のコマンドで確認できます。

ghostty +list-fonts


デフォルトで利用可能なフォントファミリーの一覧を表示しています

font-family キーに、フォントファミリー名を設定します。私は、JetBrainsMonoNL を使用しています。

config
font-family = JetBrainsMonoNL Nerd Font Mono

font-feature

こちらの Discussion で議論されていた日本語の文字化け対応として、dlig を無効化します。先頭のハイフン(マイナス)は、無効化を意味します。

config
font-feature = -dlig

font-size

デフォルトのフォントサイズは 13 ポイントです。少し大きめの 17 に設定します。

config
font-size = 17

font-style

フォントスタイルを設定します。bolditalicitalic-bold は、false に設定し無効化します。

config
font-style-bold = false
font-style-italic = false
font-style-italic-bold = false

font-thicken , font-thicken-strength

フォントの太さを調整します。デフォルトでは細く感じたので、少し厚みを持たせています。現在、macOS でのみ有効な設定になります。

config
font-thicken = true
font-thicken-strength = 1

alpha-blending

フォントの色空間を linear に設定し、明るいテキストカラーをより鮮明に表示しています。

config
alpha-blending = linear

adjust-cell-width , adjust-cell-height

フォントのセル幅とセル高を調整します。

config
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 = false


カーソルスタイルをブロックに変更しています

other

mouse-hide-while-typing

true を指定した場合、入力を開始するとマウスカーソルが非表示になります。

mouse-hide-while-typing = true

resize-overlay

never を指定した場合、リサイズ時のオーバーレイが非表示になります。

resize-overlay = never

まとめ

Ghostty の導入と設定について、簡単に説明しました。macOS での操作方法を中心に解説しましたが、WindowsLinux でも、基本的には同様の手順で設定できると思います。皆さんも、自分好みの設定を試してみてください。

また、このような素晴らしいアプリケーションを提供してくれている Ghosttyコントリビュータ の方達に感謝の意を表します。そして、Thanks Mitchell Hashimoto.

更新履歴

  • 2025年3月2日: 初版公開
  • 2025年3月3日: 見出しレベル調整
GitHubで編集を提案
1

Discussion

ログインするとコメントできます