跳至內容

鍵盤快捷鍵

快捷鍵全部來自同一個 const 註冊表,即 lib/core/constants/keybindings.dart 中的 KeybindingRegistry。它載有 49 個按鍵綁定。設定 → 你 → 快捷鍵 會把該註冊表呈現為一份唯讀參考:既沒有重新綁定的介面,也沒有使用者自訂的按鍵綁定檔案。

下文中的 Cmd 是主要的命令修飾鍵——macOS 上是 ⌘,Windows 與 Linux 上是 Ctrl。一個綁定只會在它的命令於當前畫面上有已註冊的處理程式、且它的 when 子句成立時才會觸發;!textInputFocus 意指按鍵會改為傳遞給聚焦中的文字欄位。

沒有數字鍵導覽快捷鍵。收件箱、工單、pull request 及其他內容都是經由側邊欄或 ⌘K 前往。可觀測性也沒有快捷鍵。

範圍為 global,因此它們在 shell 內任何位置都生效。

快捷鍵 動作 條件
Cmd/Ctrl + K 命令面板 —
Shift + / (?) 鍵盤快捷鍵速查表 不在欄位中輸入時
Cmd/Ctrl + Z 復原 不在欄位中輸入時(聚焦中的欄位會保留自己的復原)
Cmd/Ctrl + Shift + Z 重做 不在欄位中輸入時
Cmd/Ctrl + Shift + T 切換主題 —
Cmd/Ctrl + , 開啟設定(會前往 /settings/you/appearance) —
Cmd/Ctrl + Shift + Alt + F 切換專注模式 —
Cmd/Ctrl + Shift + W 切換工作區切換器 —
Cmd/Ctrl + ] 下一個工作區 —
Cmd/Ctrl + [ 上一個工作區 —
Cmd/Ctrl + Alt + 1 … Cmd/Ctrl + Alt + 9 切換至工作區 1–9 —

範圍為 /pull-requests。全部都需要 route == '/pull-requests' 且沒有聚焦中的文字欄位,因此當 PR 詳情路由在清單之上開啟時,它們不會觸發。

快捷鍵 動作
R 重新整理
Enter 開啟 PR
F 開啟篩選選單

Enter(pr.list-open)已在註冊表中宣告,並出現在按鍵綁定參考上,但清單畫面並沒有為它註冊處理程式,所以它目前不會觸發。F 開啟的是篩選選單(pr.list-open-filter),而不是搜尋。

範圍為 /pull-requests/。重新整理需要沒有聚焦中的文字欄位。關閉分頁沒有文字輸入防護(帶 ⌘ 的按鍵組合永遠不會是純文字),而且帶有路由正規表示式,因此不會在清單上觸發。

快捷鍵 動作 條件
R 重新整理 不在欄位中輸入時
Cmd/Ctrl + W 關閉分頁 位於 /pull-requests/<…> 位置時

分頁切換(1/2/3)、檔案已檢視/摺疊(V/C)、檔案清單(T)與在差異中尋找(Cmd/Ctrl + F)都由差異檢視器自己的處理程式負責——見註冊表以外的差異檢視器按鍵。

快捷鍵 動作
F 開啟篩選選單

需要 route == '/inbox' 且沒有聚焦中的文字欄位。

範圍為 /users/。when 子句是對 /users/<login> 或 /teams/<organization>/<slug> 的正規表示式比對,另加沒有聚焦中的文字欄位。

快捷鍵 動作
R 重新整理
/ 聚焦搜尋
Cmd/Ctrl + F 聚焦搜尋

範圍為 /spaces。when 子句使用正規表示式,因此在空間清單(/spaces)與已選取的空間(/spaces/<id>)上都會觸發。

快捷鍵 動作 條件
Enter 傳送訊息 —
Cmd/Ctrl + N 新增空間 位於 /spaces 路由時
J 下一個空間 不在欄位中輸入時
K 上一個空間 不在欄位中輸入時
Cmd/Ctrl + Shift + D 按住說話聽寫 —
Cmd/Ctrl + T 開啟編輯器分頁 位於 /spaces 路由時
Cmd/Ctrl + W 關閉編輯器分頁 位於 /spaces 路由時
Cmd/Ctrl + B 切換編輯器側邊欄 位於 /spaces 路由時
Cmd/Ctrl + P 前往檔案 位於 /spaces 路由時

「前往檔案」會開啟一個選擇器,列出對話的檔案。未輸入任何內容時,會列出你最近開啟的檔案;輸入後,會在對話 worktree 的所有檔案中搜尋。Enter 會在新分頁中開啟所選檔案,Cmd/Ctrl + Enter 或該列的分割按鈕會在右側窗格中開啟它,最近檔案列上的 × 則會將其從清單中移除。

Enter 傳送由輸入列的文字欄位負責;按住說話由輸入列的麥克風按鈕負責(它有自己的硬件鍵盤處理程式)。兩者都列在註冊表中,供設定參考之用。

範圍為 /workspaces,只在選擇器本身生效。

快捷鍵 動作
Cmd/Ctrl + N 新增工作區
Enter 開啟所選工作區

Enter 需要沒有聚焦中的文字欄位。

快捷鍵 動作 畫面
J 下一個設定頁 任何 /settings 路由,不在輸入時
K 上一個設定頁 任何 /settings 路由,不在輸入時
Cmd/Ctrl + N 新增代理 設定 → 工作區 → 代理
Cmd/Ctrl + N 新增程式庫 設定 → 工作區 → 程式庫
R 重新掃描配接器 設定 → 伺服器 → 模型供應商

範圍為 /newsfeed。全部都需要 route == '/newsfeed' 且沒有聚焦中的文字欄位。

快捷鍵 動作
J 下一篇文章
K 上一篇文章
Enter 開啟文章
S 切換書籤
R 重新整理訂閱源

PR 差異檢視器自行處理這些按鍵(PrDiffKeyboardHandler)。搜尋/已檢視/摺疊只列在註冊表的註解中,純粹供設定參考——並沒有註冊任何分派器處理程式,因此分派器會把它們留給差異檢視畫面。它們不會在按鍵綁定參考上以獨立資料列的形式出現。

快捷鍵 動作
Cmd/Ctrl + F 在差異中搜尋
J / K 下一個 / 上一個檔案
V 切換聚焦中檔案的已檢視狀態
C 切換聚焦中檔案的摺疊狀態
T 顯示檔案清單
Enter 下一個搜尋相符項(只在「在差異中尋找」開啟時)
Shift + Enter 上一個搜尋相符項
Escape 關閉「在差異中尋找」,或清除差異的文字選取範圍
Cmd/Ctrl + C 複製差異選取範圍

在網頁組建上,瀏覽器會在頁面看到某些加速鍵之前先取用它們,因此對應的綁定在該處永遠不會觸發。它們在桌面版上正常運作。與主要命令修飾鍵組合時屬保留:T、W、N 及數字 1–9。

這涵蓋 Cmd/Ctrl + Alt + 1–9 的工作區切換、Cmd/Ctrl + N(新增空間、新增工作區、新增代理、新增程式庫),以及空間與 PR 詳情中的 Cmd/Ctrl + T / Cmd/Ctrl + W。