鍵位綁定動作參考
所有 Ghostty 鍵位綁定動作的參考。
這是所有 Ghostty 鍵位綁定動作的參考。
忽略這個按鍵組合。
Ghostty 不會處理該組合,也不會把它轉發給終端機內的子行程,但作業系統或其他應用程式仍可能處理它。
解綁之前綁定的按鍵綁定。
這無法解綁未被 Ghostty 或使用者綁定的綁定(例如由作業系統或其他應用程式設定的綁定)。
傳送一個 CSI 序列。
值應為不帶 CSI 頭的 CSI 序列(ESC [ 或 \x1b[)。
例如,可以傳送 csi:0m 來重置目前文字的所有樣式。
傳送一個 ESC 序列。
傳送指定的文字。
使用 Zig 字串字面量語法。目前不做驗證。如果文字無效(即含有無效的跳脫序列),錯誤目前只會出現在日誌中。
游標鍵模式啟用(application)與停用(normal)時,分別向 pty 傳送相應資料。
重置終端機。
當執行中的程式把終端機弄成損壞狀態時,這可以修復大量問題,等價於執行 reset 命令。
如果你在 TUI 程式(如 vim)中這樣做,可能會破壞該程式。如果你在 shell 中這樣做,可能需要再按一次 Enter 才能得到新的提示符。
把選取的文字複製到剪貼簿。
貼上預設剪貼簿的內容。
貼上取區剪貼簿的內容。
如果游標下有 URL,把它複製到預設剪貼簿。
把終端機標題複製到剪貼簿。如果終端機標題未設定或為空,這沒有效果。
把字型大小增大指定的點數(pt)。
例如,increase_font_size:1.5 會把字型大小增大 1.5 點。
把字型大小減小指定的點數(pt)。
例如,decrease_font_size:1.5 會把字型大小減小 1.5 點。
把字型大小重置為最初設定的大小。
把字型大小設定為指定的點數(pt)。
例如,set_font_size:14.5 會把字型大小設為 14.5 點。
開始搜尋給定文字。如果文字為空,則取消搜尋。被取消的搜尋不會停用任何顯示搜尋的 GUI 元素;為此應使用顯式的 end_search 綁定。
如果之前的搜尋處於活動狀態,則被取代。
開始搜尋目前選取的文字。如果沒有選區,什麼都不做。如果已有搜尋處於活動狀態,這會改變搜尋詞。
在搜尋結果中導航。如果沒有活動搜尋,不執行。
如果尚未開始搜尋,則開始搜尋。這不設定任何搜尋詞,但會開啟用於搜尋的 UI。
結束目前搜尋(如有)並隱藏所有 GUI 元素。
清空螢幕與全部捲動緩衝。
選取螢幕上的所有文字。
捲動到螢幕頂端。
捲動到螢幕底端。
捲動到選取的文字。
捲動到螢幕上給定的絕對行,0 為第一行。
向上捲動一頁。
向下捲動一頁。
把螢幕捲動指定的頁分數。
正值向下捲動,負值向上捲動。
例如,scroll_page_fractional:0.5 會把螢幕向下捲動半頁,而 scroll_page_fractional:-1.5 會把它向上捲動一頁半。
把螢幕捲動指定的行數。
正值向下捲動,負值向上捲動。
例如,scroll_page_lines:3 會把螢幕向下捲動 3 行,而 scroll_page_lines:-10 會把它向上捲動 10 行。
在給定方向或位置上調整目前選區,相對於游標。
警告:這不會建立新選區,而且目前沒有選區時什麼都不做。
有效引數是:
-
left、right分別把選區向左或向右調整一格。
-
up、down分別把選區向上或向下調整一行。
-
page_up、page_down分別把選區向上或向下調整一頁。
-
home、end分別把選區調整到螢幕的左上角或右下角。
-
beginning_of_line、end_of_line分別把選區調整到行首或行尾。
把視口向前或向後跳過給定數量的提示符。
需要 shell 整合。
正值向下捲動,負值向上捲動。
把整個捲動緩衝以指定動作寫入暫存檔案。該動作決定對檔案路徑怎麼做。
有效動作是:
-
copy把檔案路徑複製進剪貼簿。
-
paste把檔案路徑貼上進終端機。
-
open在系統預設的文字檔案編輯器中開啟該檔案。
預設的系統編輯器在 macOS 上透過
open決定,在 Linux 上透過xdg-open決定。
把螢幕內容以指定動作寫入暫存檔案。
可能的動作見 write_scrollback_file。
把目前選取的文字以指定動作寫入暫存檔案。
可能的動作見 write_scrollback_file。
沒有選取文字時什麼都不做。
開啟一個新視窗。
如果應用程式目前沒有焦點,這會把它帶到前景。
開啟一個新分頁。
轉到上一個分頁。
轉到下一個分頁。
轉到最後一個分頁。
轉到具有特定索引的分頁,從 1 開始。
如果分頁編號大於分頁數量,這會轉到最後一個分頁。
以相對偏移移動分頁。
正值把分頁向前移動,負值向後移動。如果新位置越界,會在分頁列表內循環取回。
例如,move_tab:1 把分頁向前移動一個位置,如果它已是列表中最後一個,則循環回到列表第一個。同樣,move_tab:-1 把分頁向後移動一個位置,如果它本是第一個,則會變成最後一個。
切換分頁概覽。
這只在 Linux 上受支援,且要求系統 libadwaita 版本為 1.4 或更新。可以透過執行 ghostty +version 檢視目前 libadwaita 版本。
透過彈出的提示修改目前聚焦表面的標題。
透過彈出的提示修改目前分頁的標題。透過該提示設定的標題會覆蓋終端機設定的任何標題,並在該分頁內的焦點變更中持久保留。
設定目前聚焦表面的標題。
如果標題為空,表面標題被重置為空標題。
設定目前聚焦分頁的標題。
如果標題為空,則清除分頁標題覆蓋。
在指定方向建立新分屏。
有效引數:
-
right、down、left、up在相應方向建立新分屏。
-
auto沿較大的一方建立新分屏。例如,如果父分屏目前寬於高,則會建立左右分屏,反之亦然。
把焦點移到指定方向的分屏(right、down、left 與 up),或按建立順序移到相鄰分屏(previous 與 next)。
聚焦前一個或下一個視窗('previous'、'next')
放大或還原目前分屏。
當分屏被放大時,它會佔據目前分頁的整個空間,隱藏其他分屏。分頁或分頁列也會透過顯示一個放大狀態圖示來反映這一點。
切換目前表面的唯讀模式。
當表面處於唯讀模式時:
- 不向 PTY 傳送任何輸入(滑鼠事件、按鍵編碼)
- 輸入仍可在終端機層級用於選取、複製/貼上(keybind)、捲動等
- 該狀態下退出前警告總是啟用,即使沒有活動行程在執行
以指定的方向與數量(像素)調整目前分屏大小。兩個引數應以逗號連接(,),如 resize_split:up,10。
把目前視窗中所有分屏的大小均分。
把視窗重置為預設大小。「預設大小」是新視窗被建立時的大小。視窗全螢幕時這沒有效果。
只在 macOS 上實作。
控制終端檢查器的可見性。
有效引數:toggle、show、hide。
顯示 GTK inspector。
在 macOS 上沒有效果。
如果存在螢幕鍵盤,則顯示它。
只在 Linux(GTK)上實作。在 GNOME 上必須開啟「Screen Keyboard」協助工具,可在 Settings > Accessibility > Typing 下找到。其他平台目前未測試。
在系統預設編輯器中開啟設定檔。
如果系統預設編輯器未設定,這會失敗。目前,開啟設定的任何失敗只會出現在日誌中。
重新載入設定。
確切含義取決於使用的應用程式執行時,但這通常涉及重新讀取設定檔並套用任何變更。注意並非所有變更都能在執行時套用。
關閉目前「表面」,無論它是視窗、分頁、分屏等。
這可能觸發關閉確認彈窗,取決於 confirm-close-surface 設定的值。
關閉目前分頁及其所有分屏、關閉所有其他分頁,或關閉目前分頁右側的每一個分頁,取決於模式。
如果未指定模式,預設為關閉目前分頁。
這可能觸發關閉確認彈窗,取決於 confirm-close-surface 設定的值。
關閉目前視窗及其所有分頁與分屏。
這可能觸發關閉確認彈窗,取決於 confirm-close-surface 設定的值。
關閉所有視窗。
警告:該動作已被棄用,在 Linux 或 macOS 上都沒有效果。建議使用者改用 all:close_window。
最大化或取消最大化目前視窗。
這在 macOS 上沒有效果,因為它沒有最大化視窗的概念。
對目前視窗執行全螢幕或取消全螢幕。
切換目前視窗的視窗裝飾(標題欄、按鈕等)。
只在 Linux 上實作。
切換終端機視窗是否總是懸浮在其他視窗之上,即使未取得焦點。
終端機視窗總是以普通(非懸浮置頂)視窗啟動。
只在 macOS 上實作。
切換安全輸入模式。
它用於防止應用程式在輸入密碼或其他敏感資訊時監視你的鍵盤輸入。
這適用於整個應用程式,不只是聚焦的終端機。你必須手動取消該開關,或完全退出 Ghostty 才能停用。
只在 macOS 上實作,因為它使用內建的系統 API。
開啟或關閉滑鼠報告。
當滑鼠報告被停用時,即使終端機應用程式請求滑鼠事件,也不會收到報告。這讓你總能把滑鼠用於選取和其他終端機 UI 互動,而不會被應用程式捕獲滑鼠輸入。
這也可以透過 mouse-reporting 設定選項控制。
切換命令面板。
命令面板是一個彈窗,讓你能看到可以執行哪些動作、與它們關聯的鍵位綁定(如有)、一個用於過濾動作的搜尋欄,以及隨後執行動作的功能。
這在 Linux 上需要 libadwaita 1.5 或更新。可以透過執行 ghostty +version 檢視目前 libadwaita 版本。
切換 quick terminal。
quick terminal 也被稱為「Quake 風格」或下拉式終端機,是一個按需從鍵位綁定呼叫的終端機視窗,通常從螢幕邊緣(如頂部)滑入。這有利於快速存取終端機,而不必開啟新視窗或分頁。
終端機狀態在多次呼叫之間保留,因此在已隱藏之後再次呼叫 quick terminal 會顯示同一個視窗,而不是建立新的。
由於 quick terminal 常常在其他視窗取得焦點時有用,它最適合配合 全域 keybind。例如,可以定義下面這個綁定,在系統中的任何地方按 Cmd+` 來切換 quick terminal:
keybind = global:cmd+backquote=toggle_quick_terminal
quick terminal 有一些限制:
-
同一時刻只能存在一個 quick terminal 實例。
-
與普通終端機視窗不同,在支援視窗復原的系統(如 macOS)上重新啟動應用程式時,quick terminal 不會被復原。
-
在 Linux 上,quick terminal 只支援 Wayland 而非 X11,且只支援實作了
wlr-layer-shell-v1協定的 Wayland 合成器。實際上,這意味著只有 GNOME 使用者無法使用該特性。 -
在 Linux 上,滑入動畫只在 KDE 上受支援,且要求啟用「Sliding Popups」KWin 外掛程式。
如果你沒有啟用該外掛程式,開啟 System Settings > Apps & Windows > Window Management > Desktop Effects,並在外掛程式列表中啟用該外掛程式。隨後 Ghostty 需要完全重新啟動才能生效。
-
Quick terminal 分頁只在 Linux 上受支援,macOS 不支援。這是因為 macOS 上的分頁需要標題欄。
-
在 macOS 上,全螢幕的 quick terminal 總是處於非原生全螢幕模式。這是由 quick terminal 的渲染方式決定的要求。
關於 quick terminal 的各種設定見設定檔中的相關項目,以自訂其行為。
顯示或隱藏所有視窗。如果所有視窗都變為顯示,我們還會確保 Ghostty 取得焦點。隱藏所有視窗時,焦點會被交給由作業系統決定的下一個應用程式。
注意:當聚焦表面處於全螢幕時,該方法什麼都不做。
只在 macOS 上實作。
在透明與不透明之間切換視窗背景不透明度。
當 background-opacity 設為 1 或以上時這不做任何事。
當 background-opacity 小於 1 時,該動作會根據視窗目前的透明狀態,把視窗變為透明或不透明。
只在 macOS 上實作。
檢查更新。
只在 macOS 上實作。
盡可能復原聚焦表面或終端機上最近一次可復原的動作。這可以復原關閉分頁或視窗等動作。
並非 Ghostty 中的每個動作都可以復原或重做。支援復原/重做的動作列表目前限於:
- 新視窗、關閉視窗
- 新分頁、關閉分頁
- 新分屏、關閉分屏
所有動作只在有限時間內可復原/重做。例如,復原一個已關閉的分屏只能在分屏關閉後的若干秒內進行。確切時長由 undo-timeout 設定決定。
限制復原/重做動作能確保記憶體使用隨時間有界、已關閉的表面不會無限期地在背景繼續執行,以及這些鍵位綁定能被終端機應用程式使用。
只在 macOS 上實作。
盡可能重做聚焦表面或終端機上最近一次可復原的動作。關於什麼可以與不可以復原或重做的更多細節,見 "undo"。
結束目前活動的按鍵序列(如有),並把到此為止的按鍵沖刷給終端機,不包括觸發該動作的按鍵。
例如:ctrl+w>escape=end_key_sequence 會把 ctrl+w 編碼給終端機並退出該按鍵序列。
正常情況下,無效的序列會重置按鍵序列,並沖刷包括無效按鍵在內的所有資料。該動允許你只沖刷先前的按鍵,這在你想要綁定類似控制鍵(ctrl+w)但不傳送額外輸入的東西時很有用。
ignore
unbind
csi
esc
text
cursor_key
reset
copy_to_clipboard
paste_from_clipboard
paste_from_selection
copy_url_to_clipboard
copy_title_to_clipboard
increase_font_size
decrease_font_size
reset_font_size
set_font_size
search
search_selection
navigate_search
start_search
end_search
clear_screen
select_all
scroll_to_top
scroll_to_bottom
scroll_to_selection
scroll_to_row
scroll_page_up
scroll_page_down
scroll_page_fractional
scroll_page_lines
adjust_selection
jump_to_prompt
write_scrollback_file
write_screen_file
write_selection_file
new_window
new_tab
previous_tab
next_tab
last_tab
goto_tab
move_tab
toggle_tab_overview
prompt_surface_title
prompt_tab_title
set_surface_title
set_tab_title
new_split
goto_split
goto_window
toggle_split_zoom
toggle_readonly
resize_split
equalize_splits
reset_window_size
inspector
show_gtk_inspector
show_on_screen_keyboard
open_config
reload_config
close_surface
close_tab
close_window
close_all_windows
toggle_maximize
toggle_fullscreen
toggle_window_decorations
toggle_window_float_on_top
toggle_secure_input
toggle_mouse_reporting
toggle_command_palette
toggle_quick_terminal
toggle_visibility
toggle_background_opacity
check_for_updates
undo
redo
end_key_sequence