設定

Ghostty は数百の設定オプションをサポートし、 あなたの望みどおりの外観と動作を実現します。

ゼロ設定の哲学

Ghostty は、ほとんどのユーザーにとって設定なしでそのまま使えるよう設計されています。Ghostty には合理的なデフォルトが備わり、既定フォント(JetBrains Mono)を組み込み、nerd fonts を内蔵するなどしています。私たちはプロジェクトとして、Ghostty を使う上での 必要な設定 を徹底的に減らし続けることに挑戦しています。

そのため、テーマのような高度に主観的なもの以外で何かを設定する必要があり、それがデフォルトであるべきだと感じたら、ディスカッションを開いてください。

また、ターミナルを設定しなければと感じ慣れているなら、まずは何も設定せずに Ghostty を試してみてください。意外な発見があるかもしれません!

設定フォーマット

Ghostty はテキストベースの設定ファイルで設定します。

Note

将来は、ネイティブ UI の哲学に沿って、設定のためのネイティブ GUI もサポートする予定です。これはテキストベースの設定に加えて提供されます。現時点では、テキストベースの設定が Ghostty を設定する唯一の方法です。

ファイルの場所

設定ファイルは config.ghostty という名前(1.2.3 より前は config)で、次の順序でこれらの場所から読み込まれます:

XDG 設定パス(全プラットフォーム):

  • $XDG_CONFIG_HOME/ghostty/config.ghostty
  • $XDG_CONFIG_HOME/ghostty/config
  • XDG_CONFIG_HOME が定義されていない場合、デフォルトは $HOME/.config です。

macOS 固有のパス(macOS のみ):

  • $HOME/Library/Application\ Support/com.mitchellh.ghostty/config.ghostty
  • $HOME/Library/Application\ Support/com.mitchellh.ghostty/config
  • macOS は上述の XDG 設定パスもサポートします。

両方の場所が存在する場合は、上記の順に読み込まれ、後に読まれたファイル内の競合する値が先のものを上書きします。設定は任意です。設定ファイルが見つからなければ、Ghostty はデフォルト値を使います。すべての macOS 固有ファイルは、すべての XDG ファイルの 後 に読み込まれることに注意してください。

構文

Ghostty は独自の、しかし非常に単純な key = value 構文を使います。その構文は、サンプル設定ファイル内のコメントを使って以下に説明します。

# The syntax is "key = value". The whitespace around the
# equals doesn't matter.
background = 282c34
foreground = ffffff

# Comments start with a `#` and are only valid on their own line.
# Blank lines are ignored!

keybind = ctrl+z=close_surface
keybind = ctrl+d=new_split:right

# Empty values reset the configuration to the default value
font-family =

構文についてのその他の注意点:

  • キーは大文字小文字を区別します。background と Background は別物です。Ghostty は常に小文字のキーを使います。

  • 値は引用符付きでも無しでも構いません。font-family = "JetBrains Mono" は font-family = JetBrains Mono と同じです。

  • コマンドラインから Ghostty を起動するとき、すべての設定キーは有効な CLI フラグでもあります。たとえば background キーは ghostty --background=282c34 で設定できます。同様に font-family キーは ghostty --font-family="JetBrains Mono" で設定できます。

複数ファイルへの分割

設定ファイル内で config-file キーを使うと、設定を複数のファイルに分割できます。このキーは読み込む別の設定ファイルへのパスを指定し、複数回指定できます(循環は検出され警告が出ます)。

任意の config-file キーは現在のファイルの 末尾 で処理されることに注意してください。つまり、config-file キーより後のキーは、設定されていても読み込まれたファイル内のキーを上書きしません。

値が相対パスの場合、config-file キーを含む設定ファイルからの相対です。

値が ? で始まる場合、そのファイルはオプショナルで、存在しなければ無視されます。プラットフォーム固有やマシン固有の設定ファイルに特に有用です。(呪われた理由で、実際に ? で始まるファイルを読み込みたい場合は、値全体をダブルクォートで囲めばエスケープできます。)

上記の概念をすべて組み合わせた例:

config-file = some/relative/sub/config
config-file = ?optional/config
config-file = /absolute/path/config

設定の再読み込み

ctrl+shift+,(Linux)または cmd+shift+,(macOS)を押すと、実行時に設定を再読み込みできます。これらはデフォルトのキーバインドですが、reload_config アクションで独自のバインドを定義することもできます。

Note

実行時に再読み込みできない設定オプションもあります。また、新しく作成されたターミナルにのみ適用されるオプションもあります。詳細は各設定オプションを参照してください。

オフラインリファレンスドキュメント

Web サイト以外にも、設定オプションのドキュメントを見つけられる場所がいくつかあります。すべての場所は同一です(すべて同じソースから生成されています)。

Tip

オンラインのリファレンスドキュメントはこちらで利用可能です。

  1. $prefix/share/ghostty/docs ディレクトリには HTML と Markdown 形式のドキュメントがあります。このディレクトリは Ghostty をビルドまたはインストールしたときに作成されます。ソースからビルドする場合(または --prefix フラグを指定した場合)、$prefix は zig-out です。macOS では、$prefix は .app バンドルの Contents/Resources サブディレクトリです。

  2. $prefix/share/man ディレクトリには man ページがあります。このディレクトリは Ghostty をビルドまたはインストールしたときに作成されます。

  3. CLI では ghostty +show-config --default --docs を実行できます。これはドキュメント付きの完全なデフォルト設定を stdout に出力するので、pager やエディタなどにパイプするとよいでしょう。

  4. ソースコードでは、設定の構造は Config 構造体 にあります。利用可能なキーはそのままキー名で、取りうる値はたいていコメントに記載されています。

  5. 厳密にはドキュメントではありませんが、多くの Ghostty ユーザーの公開設定ファイル を例とインスピレーションのために検索できます。

Note

font-family = のように見える奇妙な空の設定を見かけることがあるかもしれません。これはデフォルトの挙動(値なし)を指定する有効な構文です。+show-config がこれを出力するのは、キーがデフォルト値であることを明確にし、かつドキュメントコメントを付ける対象を作るためです。