鍵盤快捷鍵
快捷鍵全部來自同一個 const 註冊表,即 lib/core/constants/keybindings.dart 中的 KeybindingRegistry。它載有 49 個按鍵綁定。設定 → 你 → 快捷鍵 會把該註冊表呈現為一份唯讀參考:既沒有重新綁定的介面,也沒有使用者自訂的按鍵綁定檔案。
下文中的 Cmd 是主要的命令修飾鍵——macOS 上是 ⌘,Windows 與 Linux 上是 Ctrl。一個綁定只會在它的命令於當前畫面上有已註冊的處理程式、且它的 when 子句成立時才會觸發;!textInputFocus 意指按鍵會改為傳遞給聚焦中的文字欄位。
沒有數字鍵導覽快捷鍵。收件箱、工單、pull request 及其他內容都是經由側邊欄或 ⌘K 前往。可觀測性也沒有快捷鍵。
全域(19)
標題為「全域(19)」的章節範圍為 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 request 清單(3)
標題為「Pull request 清單(3)」的章節範圍為 /pull-requests。全部都需要 route == '/pull-requests' 且沒有聚焦中的文字欄位,因此當 PR 詳情路由在清單之上開啟時,它們不會觸發。
| 快捷鍵 | 動作 |
|---|---|
R |
重新整理 |
Enter |
開啟 PR |
F |
開啟篩選選單 |
Enter(pr.list-open)已在註冊表中宣告,並出現在按鍵綁定參考上,但清單畫面並沒有為它註冊處理程式,所以它目前不會觸發。F 開啟的是篩選選單(pr.list-open-filter),而不是搜尋。
Pull request 詳情(2)
標題為「Pull request 詳情(2)」的章節範圍為 /pull-requests/。重新整理需要沒有聚焦中的文字欄位。關閉分頁沒有文字輸入防護(帶 ⌘ 的按鍵組合永遠不會是純文字),而且帶有路由正規表示式,因此不會在清單上觸發。
| 快捷鍵 | 動作 | 條件 |
|---|---|---|
R |
重新整理 | 不在欄位中輸入時 |
Cmd/Ctrl + W |
關閉分頁 | 位於 /pull-requests/<…> 位置時 |
分頁切換(1/2/3)、檔案已檢視/摺疊(V/C)、檔案清單(T)與在差異中尋找(Cmd/Ctrl + F)都由差異檢視器自己的處理程式負責——見註冊表以外的差異檢視器按鍵。
收件箱(1)
標題為「收件箱(1)」的章節| 快捷鍵 | 動作 |
|---|---|
F |
開啟篩選選單 |
需要 route == '/inbox' 且沒有聚焦中的文字欄位。
GitHub 使用者與團隊個人檔案(3)
標題為「GitHub 使用者與團隊個人檔案(3)」的章節範圍為 /users/。when 子句是對 /users/<login> 或 /teams/<organization>/<slug> 的正規表示式比對,另加沒有聚焦中的文字欄位。
| 快捷鍵 | 動作 |
|---|---|
R |
重新整理 |
/ |
聚焦搜尋 |
Cmd/Ctrl + F |
聚焦搜尋 |
空間(9)
標題為「空間(9)」的章節範圍為 /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 傳送由輸入列的文字欄位負責;按住說話由輸入列的麥克風按鈕負責(它有自己的硬件鍵盤處理程式)。兩者都列在註冊表中,供設定參考之用。
工作區選擇器(2)
標題為「工作區選擇器(2)」的章節範圍為 /workspaces,只在選擇器本身生效。
| 快捷鍵 | 動作 |
|---|---|
Cmd/Ctrl + N |
新增工作區 |
Enter |
開啟所選工作區 |
Enter 需要沒有聚焦中的文字欄位。
設定(5)
標題為「設定(5)」的章節| 快捷鍵 | 動作 | 畫面 |
|---|---|---|
J |
下一個設定頁 | 任何 /settings 路由,不在輸入時 |
K |
上一個設定頁 | 任何 /settings 路由,不在輸入時 |
Cmd/Ctrl + N |
新增代理 | 設定 → 工作區 → 代理 |
Cmd/Ctrl + N |
新增程式庫 | 設定 → 工作區 → 程式庫 |
R |
重新掃描配接器 | 設定 → 伺服器 → 模型供應商 |
資訊動態(5)
標題為「資訊動態(5)」的章節範圍為 /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。