觸發序列

需要一系列按鍵事件組成的序列來觸發的觸發器。

Ghostty 支援需要一系列觸發器 才能啟用動作的鍵盤綁定。例如,你可以要求 先按 ctrl+a 再按 n 來開啟新視窗。在其他軟體中, 這有時被稱為 “leader key”、“key chord”、“key table” 等。

要指定觸發器序列,請使用 一般觸發語法,並使用 > 字元 分隔序列中的觸發器。 示例如下:

keybind = ctrl+a>n=new_window

Warning

如果將序列定義為 ghostty 的命令列參數, 你可能需要給鍵盤綁定加上引號,因為 > 在大多數 shell 中是特殊字元。 示例:ghostty --keybind='ctrl+a>n=new_window'

觸發序列有一些特殊處理:

  • Ghostty 將無限期地等待序列中的下一個按鍵。無法指定逾時。 顯示前置鍵的唯一方法為該前置鍵專指派一個鍵盤綁定來輸出該鍵 (即 ctrl+a>ctrl+a=text:foo),或按下一個未綁定的鍵,這會把兩個按鍵都傳送給程式。

  • 如果序列中的某個前置鍵先前已被綁定,則該序列會 覆寫之前的綁定。例如,如果 ctrl+a 綁定到 new_window,而 ctrl+a>n 綁定到 new_tab,那麼按下 ctrl+a 將不會有任何效果。

  • 在上述基礎上,如果先前綁定的序列前置鍵 被用於新的、非序列綁定,則整個先前綁定的 序列都會被解除綁定。例如,如果你綁定了 ctrl+a>n 和 ctrl+a>t,然後直接綁定 ctrl+a,則 ctrl+a>n 和 ctrl+a>t 都會變為未綁定。

  • 觸發序列不允許用於 global: 或以 all: 為前置的 觸發器。這是我們未來可能移除的限制。