トリガーシーケンス
複数のキー入力イベントのシーケンスを必要とするトリガー。
Ghostty は、アクションを発動するためにトリガーの
シーケンスを必要とするキーバインドに対応しています。たとえば、
新規ウィンドウを開くために ctrl+a に続けて n を押させる、ということができます。
他のソフトではこれは "リーダーキー"、"キーコード"、"キーテーブル" など
と呼ばれることもあります。
トリガーのシーケンスを指定するには、
通常のトリガー構文 を使い、
シーケンス内のトリガーを > 文字で区切ります。
以下の例を参照:
keybind = ctrl+a>n=new_window
Warning
シーケンスを
ghosttyの CLI 引数として定義する場合、 ほとんどのシェルで>が特殊文字であるため、キーバインドを引用符で囲む必要があるでしょう。 例: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:がプレフィックスとなっている トリガーには使えません。これは将来取り除ける可能性のある制限です。