設定
Ghostty 支援數百個設定選項,讓它的外觀與 行為完全符合你的意願。
Ghostty 被設計成對大多數使用者開箱即用、無需設定。Ghostty 擁有合理的預設值、內嵌預設字型(JetBrains Mono)、內建 nerd fonts 等。作為專案,我們不斷挑戰自己,盡力消除使用 Ghostty 時任何 必要的設定。
為此,如果你發現自己在設定主題這類高度主觀的東西之外的東西,並認為它應該是預設行為,請發起一個討論。
而且,如果你習慣了必須設定的感覺,不妨先試著完全不設定就直接使用 Ghostty。你可能會吃一驚!
Ghostty 透過基於文字的設定檔進行設定。
Note
未來我們計畫按與我們的原生 UI 哲學一致的方式再支援原生 GUI 設定。這將在基於文字的設定之外提供。目前,基於文字的設定是設定 Ghostty 的唯一方式。
設定檔名為 config.ghostty(1.2.3 之前為 config),按以下順序從這些位置載入:
$XDG_CONFIG_HOME/ghostty/config.ghostty$XDG_CONFIG_HOME/ghostty/config- 若未定義 XDG_CONFIG_HOME,則預設為
$HOME/.config。
$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
有些設定選項無法在執行時重新載入;其他選項可能只對新建立的終端機生效。細節見具體的設定選項。
除了網站之外,還有多個地方可以找到設定選項的文件。所有位置都相同(都產生自同一原始檔)。
Tip
線上參考文件在此可用。
-
$prefix/share/ghostty/docs目錄中有 HTML 與 Markdown 格式的文件。該目錄在建置或安裝 Ghostty 時建立。從原始碼建置時(或指定--prefix旗標時),$prefix是zig-out。在 macOS 上,$prefix是.app套件的Contents/Resources子目錄。 -
$prefix/share/man目錄中有 man 頁。建置或安裝 Ghostty 時會建立該目錄。 -
在 CLI 中可以執行
ghostty +show-config --default --docs。注意這會把帶文件的完整預設設定輸出到 stdout,因此你可能想把它透過 pager、編輯器等分頁檢視。 -
在原始碼中,設定結構見 Config 結構。可用的鍵與原始碼中一致,其可能的值通常在註解中說明。
-
嚴格說不算文件,但你可以搜尋許多 Ghostty 使用者的 公開設定檔 作為範例與靈感來源。
Note
你可能會看到形如
font-family =的、看起來奇怪的空白設定。這是指定預設行為(無值)的有效語法。+show-config把它輸出出來,是為了表明該鍵取預設值,也是為了給文件註解提供掛靠對象。