キーバインドアクションリファレンス

Ghostty のすべてのキーバインドアクションのリファレンス。

これは Ghostty のすべてのキーバインドアクションのリファレンスです。

ignore

このキーの組み合わせを無視します。

Ghostty はこの組み合わせを処理せず、ターミナル内の子プロセスへも転送しませんが、OS や他のアプリケーションが処理する可能性はあります。

unbind

以前にバインドされたキーバインドを解除します。

これは、Ghostty やユーザーによってバインドされていないもの(OS や他のアプリケーションが設定したバインドなど)を解除することはできません。

csi

CSI シーケンスを送ります。

値は CSI ヘッダ(ESC [ または \x1b[)を含まない CSI シーケンスであるべきです。

たとえば、csi:0m を送って現在のテキストのすべてのスタイルをリセットできます。

esc

ESC シーケンスを送ります。

text

指定したテキストを送ります。

Zig 文字列リテラル構文を使用します。現在これは検証されていません。テキストが不正(無効なエスケープシーケンスを含むなど)の場合、エラーは現状ログにのみ現れます。

cursor_key

カーソルキーモードが有効(application)か無効(normal)かに応じて、pty にデータを送ります。

reset

ターミナルをリセットします。

実行中のプログラムがターミナルを壊れた状態にしたとき、これは多くの問題を修復でき、reset コマンドの実行に相当します。

vim のような TUI プログラムの中で行うと、そのプログラムを壊すことがあります。shell の中で行うと、新しいプロンプトを表示するために Enter を押す必要があるかもしれません。

copy_to_clipboard

選択したテキストをクリップボードにコピーします。

paste_from_clipboard

既定のクリップボードの内容を貼り付けます。

paste_from_selection

選択クリップボードの内容を貼り付けます。

copy_url_to_clipboard

カーソル下に URL がある場合、それを既定のクリップボードにコピーします。

copy_title_to_clipboard

ターミナルタイトルをクリップボードにコピーします。ターミナルタイトルが未設定または空の場合、効果はありません。

increase_font_size

フォントサイズを指定したポイント(pt)だけ大きくします。

たとえば、increase_font_size:1.5 はフォントサイズを 1.5 ポイント大きくします。

decrease_font_size

フォントサイズを指定したポイント(pt)だけ小さくします。

たとえば、decrease_font_size:1.5 はフォントサイズを 1.5 ポイント小さくします。

reset_font_size

フォントサイズを最初に設定されたサイズに戻します。

set_font_size

フォントサイズを指定したポイント(pt)に設定します。

たとえば、set_font_size:14.5 はフォントサイズを 14.5 ポイントに設定します。

与えられたテキストで検索を開始します。テキストが空の場合、検索はキャンセルされます。キャンセルされた検索は、検索を表示している GUI 要素を無効化しません。それには明示的な end_search バインドを使う必要があります。

以前の検索が有効な場合、置き換えられます。

search_selection

現在選択されているテキストで検索を開始します。選択がない場合、何もしません。すでに検索が有効な場合、検索語を変更します。

検索結果をナビゲートします。有効な検索がない場合、実行されません。

まだ検索が始まっていなければ開始します。検索語は設定しませんが、検索用の UI を開きます。

検索があればそれを終了し、すべての GUI 要素を隠します。

clear_screen

画面とすべてのスクロールバックを消去します。

select_all

画面上のすべてのテキストを選択します。

scroll_to_top

画面の最上部へスクロールします。

scroll_to_bottom

画面の最下部へスクロールします。

scroll_to_selection

選択したテキストへスクロールします。

scroll_to_row

画面上の与えられた絶対行へスクロールします。0 が最初の行です。

scroll_page_up

画面を 1 ページ上へスクロールします。

scroll_page_down

画面を 1 ページ下へスクロールします。

scroll_page_fractional

画面を指定したページの割合分スクロールします。

正の値は下方向、負の値は上方向へのスクロールです。

たとえば、scroll_page_fractional:0.5 は画面を半ページ下へスクロールし、scroll_page_fractional:-1.5 は 1 ページ半上へスクロールします。

scroll_page_lines

画面を指定した行数分スクロールします。

正の値は下方向、負の値は上方向へのスクロールです。

たとえば、scroll_page_lines:3 は画面を 3 行下へスクロールし、scroll_page_lines:-10 は 10 行上へスクロールします。

adjust_selection

カーソルを基準に、与えられた方向または位置で現在の選択を調整します。

警告:これは新しい選択を作るものではなく、現在選択がない場合は何も行いません。

有効な引数は次のとおりです:

  • left、right

    選択をそれぞれ左右へ 1 セルずつ調整します。

  • up、down

    選択をそれぞれ 1 行上または下へ調整します。

  • page_up、page_down

    選択をそれぞれ 1 ページ上または下へ調整します。

  • home、end

    選択をそれぞれ画面の左上隅または右下隅へ調整します。

  • beginning_of_line、end_of_line

    選択をそれぞれ行の先頭または末尾へ調整します。

jump_to_prompt

ビューポートを、与えられた数のプロンプトだけ前後にジャンプします。

シェル統合が必要です。

正の値は下方向、負の値は上方向へのスクロールです。

write_scrollback_file

スクロールバック全体を指定したアクションで一時ファイルへ書き出します。アクションはファイルパスをどう扱うかを決めます。

有効なアクションは次のとおりです:

  • copy

    ファイルパスをクリップボードへコピーします。

  • paste

    ファイルパスをターミナルへ貼り付けます。

  • open

    既定の OS テキストエディタでファイルを開きます。

    既定の OS エディタは、macOS では open、Linux では xdg-open を使って決まります。

write_screen_file

画面の内容を指定したアクションで一時ファイルへ書き出します。

可能なアクションは write_scrollback_file を参照してください。

write_selection_file

現在選択中のテキストを指定したアクションで一時ファイルへ書き出します。

可能なアクションは write_scrollback_file を参照してください。

テキストが選択されていない場合は何もしません。

new_window

新しいウィンドウを開きます。

アプリケーションが現在フォーカスされていない場合、前面に移動します。

new_tab

新しいタブを開きます。

previous_tab

前のタブへ移動します。

next_tab

次のタブへ移動します。

last_tab

最後のタブへ移動します。

goto_tab

1 から始まる、特定のインデックスのタブへ移動します。

タブ番号がタブ数より大きい場合、最後のタブへ移動します。

move_tab

相対オフセットでタブを移動します。

正の値はタブを前方へ、負の値は後方へ移動します。新しい位置が範囲外の場合、タブリスト内で周期的に循環します。

たとえば、move_tab:1 はタブを一つ前方へ移動し、それがリストの最後のタブであれば先頭へ折り返します。同様に、move_tab:-1 はタブを一つ後方へ移動し、それが最初のタブであれば最後のタブになります。

toggle_tab_overview

タブ概要を切り替えます。

これは Linux 上でのみサポートされ、システムの libadwaita バージョンが 1.4 以降である必要があります。現在の libadwaita バージョンは ghostty +version を実行して確認できます。

prompt_surface_title

ポップアップのプロンプトで、現在フォーカスされているサーフェスのタイトルを変更します。

prompt_tab_title

ポップアップのプロンプトで、現在のタブのタイトルを変更します。このプロンプトで設定したタイトルは、ターミナルが設定したタイトルを上書きし、タブ内のフォーカス変更をまたいで保持されます。

set_surface_title

現在フォーカスされているサーフェスのタイトルを設定します。

タイトルが空の場合、サーフェスタイトルは空のタイトルにリセットされます。

set_tab_title

現在フォーカスされているタブのタイトルを設定します。

タイトルが空の場合、タブタイトルの上書きは解除されます。

new_split

指定した方向に新しい分割を作成します。

有効な引数:

  • right、down、left、up

    対応する方向に新しい分割を作成します。

  • auto

    より広い方の軸に沿って新しい分割を作成します。たとえば、親分割が現在縦より横に広い場合、左右分割が作成され、逆も同様です。

goto_split

指定した方向(right、down、left、up)の分割、または作成順で隣接する分割(previous、next)にフォーカスします。

goto_window

前のウィンドウまたは次のウィンドウ('previous'、'next')にフォーカスします

toggle_split_zoom

現在の分割を拡大または元に戻します。

分割が拡大されると、現在のタブの全スペースを占有し、他の分割は隠れます。タブまたはタブバーも、拡大状態を示すアイコンを表示することでこれを反映します。

toggle_readonly

現在のサーフェスの読み取り専用モードを切り替えます。

サーフェスが読み取り専用モードのとき:

  • PTY には入力が送られません(マウスイベント、キーのエンコード)
  • 入力は、選択、コピー/貼り付け(キーバインド)、スクロールなどのターミナルレベルの操作には引き続き使用できます
  • この状態では、実行中のプロセスがなくても終了前の警告が常に有効です

resize_split

指定した方向と量(ピクセル)で現在の分割のサイズを変更します。2 つの引数はコンマで連結する必要があり(,)、resize_split:up,10 のような形式です。

equalize_splits

現在のウィンドウのすべての分割サイズを均等化します。

reset_window_size

ウィンドウを既定のサイズに戻します。「既定のサイズ」とは、新しいウィンドウが作成される際のサイズです。ウィンドウが全画面の場合は効果がありません。

macOS でのみ実装されています。

inspector

ターミナルインスペクターの表示を制御します。

有効な引数:toggle、show、hide。

show_gtk_inspector

GTK インスペクターを表示します。

macOS では効果がありません。

show_on_screen_keyboard

画面上キーボードがあればそれを表示します。

Linux(GTK)でのみ実装されています。GNOME では「Screen Keyboard」のアクセシビリティ機能を有効にする必要があり、Settings > Accessibility > Typing にあります。他のプラットフォームは現時点で未検証です。

open_config

設定ファイルを既定の OS エディタで開きます。

既定の OS エディタが設定されていない場合、この操作は失敗します。現状、設定を開く失敗はログにのみ現れます。

reload_config

設定を再読み込みします。

正確な意味は使用しているアプリランタイムに依存しますが、通常は設定ファイルを再読みし、すべての変更を適用することを指します。実行時に適用できない変更もあることに注意してください。

close_surface

現在の「サーフェス」(ウィンドウ、タブ、分割など)を閉じます。

confirm-close-surface 設定の値に応じて、閉じる確認のポップアップがトリガーされることがあります。

close_tab

モードに応じて、現在のタブとその中のすべての分割を閉じるか、他のすべてのタブを閉じるか、または現在のタブより右側のすべてのタブを閉じます。

モードが指定されない場合は、現在のタブを閉じることが既定です。

confirm-close-surface 設定の値に応じて、閉じる確認のポップアップがトリガーされることがあります。

close_window

現在のウィンドウとその中のすべてのタブと分割を閉じます。

confirm-close-surface 設定の値に応じて、閉じる確認のポップアップがトリガーされることがあります。

close_all_windows

すべてのウィンドウを閉じます。

警告:このアクションは非推奨であり、Linux でも macOS でも効果がありません。代わりに all:close_window を使うことを推奨します。

toggle_maximize

現在のウィンドウを最大化または最大化解除します。

macOS には最大化ウィンドウの概念がないため、効果がありません。

toggle_fullscreen

現在のウィンドウを全画面または全画面解除します。

toggle_window_decorations

現在のウィンドウのウィンドウ装飾(タイトルバー、ボタンなど)を切り替えます。

Linux でのみ実装されています。

toggle_window_float_on_top

ターミナルウィンドウを、フォーカスがなくても他のウィンドウの上に常時浮かせるかどうかを切り替えます。

ターミナルウィンドウは常に通常の(浮かせない)ウィンドウとして開始します。

macOS でのみ実装されています。

toggle_secure_input

セキュア入力モードを切り替えます。

これは、パスワードなどの機密情報を入力する際にアプリがキーボード入力を監視しないようにするためのものです。

これはフォーカスされたターミナルだけでなく、アプリケーション全体に適用されます。無効にするには手動で解除するか、Ghostty を完全に終了する必要があります。

組み込みのシステム API を使用するため、macOS でのみ実装されています。

toggle_mouse_reporting

マウスレポーティングをオン/オフで切り替えます。

マウスレポーティングが無効な場合、ターミナルアプリケーションがリクエストしてもマウスイベントは報告されません。これにより、アプリがマウス入力を捕まえることなく、常にマウスを選択や他のターミナル UI 操作に使えます。

mouse-reporting 設定オプションでも制御できます。

toggle_command_palette

コマンドパレットを切り替えます。

コマンドパレットは、実行できるアクション、それに関連付けられたキーバインド(あれば)、アクションを絞り込む検索バー、およびアクションを実行する機能を提供するポップアップです。

Linux では libadwaita 1.5 以降が必要です。現在の libadwaita バージョンは ghostty +version を実行して確認できます。

toggle_quick_terminal

クイックターミナルを切り替えます。

クイックターミナルは「Quake スタイル」やドロップダウン型ターミナルとしても知られ、キーバインドからオンデマンドで現れるターミナルウィンドウで、画面の端(多くは上端)からスライドインします。新しいウィンドウやタブを開かずに素早くターミナルへアクセスするのに便利です。

ターミナルの状態は表示の間で保持されるため、一度隠れたクイックターミナルを再表示すると、新しいウィンドウを作る代わりに同じウィンドウが表示されます。

クイックターミナルは他のウィンドウがフォーカスされているときに活躍することが多いため、グローバルキーバインドと併用するのが最適です。たとえば、次のようなキーバインドを定義すれば、システム上のどこからでも Cmd+` を押すことでクイックターミナルを切り替えられます:

keybind = global:cmd+backquote=toggle_quick_terminal

クイックターミナルにはいくつかの制限があります:

  • 同時に存在できるクイックターミナルのインスタンスは 1 つだけです。

  • 通常のターミナルウィンドウと異なり、macOS のようにウィンドウ復元をサポートするシステムでは、アプリの再起動時にクイックターミナルは復元されません。

  • Linux では、クイックターミナルは Wayland のみをサポートし、X11 は非対応です。また、wlr-layer-shell-v1 プロトコルをサポートする Wayland コンポジタに限られます。実際には、GNOME ユーザーだけがこの機能を使えないことになります。

  • Linux では、スライドインアニメーションは KDE に限られ、「Sliding Popups」KWin プラグインが有効な場合のみです。

    このプラグインが無効なら、System Settings > Apps & Windows > Window Management > Desktop Effects を開き、プラグイン一覧で有効にしてください。反映させるには Ghostty を完全に再起動する必要があります。

  • クイックターミナルのタブは Linux 専用で、macOS では非対応です。macOS のタブはタイトルバーを必要とするためです。

  • macOS では、全画面化されたクイックターミナルは常に非ネイティブ全画面モードになります。これはクイックターミナルのレンダリング方法による要件です。

その振る舞いをカスタマイズするには、設定ファイル内の quick terminal 関連の各設定を参照してください。

toggle_visibility

すべてのウィンドウを表示または非表示にします。すべてのウィンドウが表示状態になった場合は、Ghostty がフォーカスされることを保証します。すべてのウィンドウを非表示にするとき、フォーカスは OS が判断する次のアプリケーションへ譲られます。

注意:フォーカスされたサーフェスが全画面のとき、このメソッドは何もしません。

macOS でのみ実装されています。

toggle_background_opacity

ウィンドウ背景の不透明度を、透明と不透明の間で切り替えます。

background-opacity が 1 以上に設定されている場合、何もしません。

background-opacity が 1 未満の場合、このアクションはウィンドウの現在の透明状態に応じて、透明にするかしないかを切り替えます。

macOS でのみ実装されています。

check_for_updates

アップデートを確認します。

macOS でのみ実装されています。

undo

可能な場合、フォーカスされたサーフェスまたはターミナルの、最後の取り消し可能なアクションを取り消します。タブやウィンドウを閉じるようなアクションを取り消せます。

Ghostty のすべてのアクションが取り消し・やり直しに対応するわけではありません。取り消し/やり直しをサポートするアクションの一覧は現在次のものに限られます:

  • 新しいウィンドウ、ウィンドウを閉じる
  • 新しいタブ、タブを閉じる
  • 新しい分割、分割を閉じる

すべてのアクションは限られた時間だけ取り消し・やり直し可能です。たとえば、閉じた分割の復元は、その分割が閉じられてから何秒か以内しかできません。正確な長さは undo-timeout 設定で構成されます。

取り消し/やり直しアクションを制限することで、メモリ使用量が時間経過に対して有界であること、閉じたサーフェスが無期限にバックグラウンドで動作し続けないこと、キーバインドがターミナルアプリケーションから利用可能になることを保証します。

macOS でのみ実装されています。

redo

可能な場合、フォーカスされたサーフェスまたはターミナルの、最後の取り消し可能なアクションをやり直します。取り消し・やり直しの可否の詳細は "undo" を参照してください。

end_key_sequence

アクティブなキーシーケンスがあればそれを終了し、このアクションをトリガーしたキーを除き、この時点までのキーをターミナルへフラッシュします。

たとえば:ctrl+w>escape=end_key_sequence は、ctrl+w をターミナルへエンコードし、キーシーケンスを終了します。

通常、無効なシーケンスはキーシーケンスをリセットし、無効なキーを含むすべてのデータをフラッシュします。このアクションにより、以前のキーのみをフラッシュできます。これは、control キー(ctrl+w)のようなものをバインドしたが追加の入力を送りたくない場合に有用です。