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