2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.
4 4
5# 為 Claude Code 配置您的終端機5# 為 Claude Code 設定您的終端機
6 6
7> 修復 Shift+Enter 以插入換行符、在 Claude 完成時獲得終端機鈴聲、配置 tmux、匹配色彩主題,以及在 Claude Code CLI 中啟用 Vim 模式。7> 修正 Shift+Enter 以插入新行、在 Claude 完成時取得終端機鈴聲、設定 tmux、符合色彩主題,以及在 Claude Code CLI 中啟用 Vim 模式。
8 8
9Claude Code 在任何終端機中都可以無需配置而運作。此頁面適用於當某些特定功能的行為不符合您的預期時。在下方找到您的症狀。如果一切已經感覺正確,您不需要此頁面。9Claude Code 可在任何終端機中無需設定即可運作。此頁面適用於當某些特定功能的行為不符合您的預期時。在下方找到您的症狀。如果一切已經感覺正確,您不需要此頁面。
10 10
11* [Shift+Enter 提交而不是插入換行符](#enter-multiline-prompts)11* [Shift+Enter 提交而非插入新行](#enter-multiline-prompts)
12* [Option 鍵快捷鍵在 macOS 上無效](#enable-option-key-shortcuts-on-macos)12* [macOS 上的 Option 鍵快捷鍵無法運作](#enable-option-key-shortcuts-on-macos)
13* [Claude 完成時沒有聲音或警報](#get-a-terminal-bell-or-notification)13* [Claude 完成時沒有聲音或警示](#get-a-terminal-bell-or-notification)
14* [您在 tmux 內執行 Claude Code](#configure-tmux)14* [您在 tmux 內執行 Claude Code](#configure-tmux)
15* [顯示閃爍或捲動位置跳躍](#switch-to-fullscreen-rendering)15* [Windows 上的 Backspace 刪除整個單字](#fix-backspace-deleting-a-whole-word-on-windows)
16* [顯示閃爍或回捲跳躍](#switch-to-fullscreen-rendering)
16* [您想在提示中使用 Vim 快捷鍵](#edit-prompts-with-vim-keybindings)17* [您想在提示中使用 Vim 快捷鍵](#edit-prompts-with-vim-keybindings)
17 18
18此頁面是關於讓您的終端機向 Claude Code 發送正確的信號。若要更改 Claude Code 本身回應的快捷鍵,請改為參閱[快捷鍵](/zh-TW/keybindings)。19此頁面是關於讓您的終端機向 Claude Code 傳送正確的訊號。若要變更 Claude Code 本身回應的快捷鍵,請改為參閱 [快捷鍵](/docs/zh-TW/keybindings)。
19 20
20<h2 id="enter-multiline-prompts">21<h2 id="enter-multiline-prompts">
21 輸入多行提示22 輸入多行提示
22</h2>23</h2>
23 24
24按 Enter 提交您的訊息。若要在不提交的情況下新增換行符,請按 Ctrl+J,或輸入 `\` 然後按 Enter。兩者都在每個終端機中無需設置即可運作。25按 Enter 鍵提交您的訊息。若要在不提交的情況下新增換行符,請按 Ctrl+J,或輸入 `\` 然後按 Enter。兩種方法在每個終端機上都可以使用,無需設定。
25 26
26在大多數終端機中,您也可以按 Shift+Enter,但支援因終端機模擬器而異:27在大多數終端機中,您也可以按 Shift+Enter,但支援情況因終端機模擬器而異:
27 28
28| 終端機 | Shift+Enter 用於換行符 |29| 終端機 | Shift+Enter 用於換行 |
29| :---------------------------------------------------------------- | :--------------------------- |30| :---------------------------------------------------------------- | :--------------------------- |
30| Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal | 無需設置即可運作 |31| Ghostty、Kitty、iTerm2、WezTerm、Warp、Apple Terminal、Windows Terminal | 無需設定即可使用 |
31| VS Code、Cursor、Devin Desktop、Alacritty、Zed | 執行一次 `/terminal-setup` |32| VS Code、Cursor、Devin Desktop、Alacritty、Zed | 執行一次 `/terminal-setup` |
32| gnome-terminal、JetBrains IDE(例如 PyCharm 和 Android Studio) | 不可用;使用 Ctrl+J 或 `\` 然後 Enter |33| gnome-terminal、JetBrains IDE(例如 PyCharm 和 Android Studio) | 不可用;使用 Ctrl+J 或 `\` 然後 Enter |
33 34
34對於 VS Code、Cursor、Devin Desktop、Alacritty 和 Zed,`/terminal-setup` 將 Shift+Enter 和其他快捷鍵寫入終端機的配置檔案。現有的綁定會保留在原位;如果您看到類似 `VSCode terminal Shift+Enter key binding already configured` 的訊息,則未進行任何變更。直接在主機終端機中執行 `/terminal-setup` 而不是在 tmux 或 screen 內,因為它需要寫入主機終端機的配置。35對於 VS Code、Cursor、Devin Desktop、Alacritty 和 Zed,`/terminal-setup` 會將 Shift+Enter 快捷鍵寫入終端機的設定檔。在首次執行時,您會看到確認訊息,例如 `Installed VSCode terminal Shift+Enter key binding`。現有的快捷鍵設定會保留;如果您看到類似 `VSCode terminal Shift+Enter key binding already configured` 的訊息,表示未進行任何變更。請直接在主機終端機中執行 `/terminal-setup`,而不是在 tmux 或 screen 內執行,因為它需要寫入主機終端機的設定。
35 36
36在 VS Code、Cursor 和 Devin Desktop 中,`/terminal-setup` 也會更新兩個編輯器設定:它將 `terminal.integrated.gpuAcceleration` 設定為 `"off"` 以防止整合終端機中的文字亂碼,並設定 `terminal.integrated.mouseWheelScrollSensitivity` 以在[全螢幕模式](/zh-TW/fullscreen)中實現更平順的滾動。若要復原 GPU 加速變更,請將其設回 `"auto"` 並重新載入編輯器視窗。37在 VS Code、Cursor 和 Devin Desktop 中,`/terminal-setup` 也會更新兩個編輯器設定:它將 `terminal.integrated.gpuAcceleration` 設定為 `"off"` 以防止整合終端機中的文字亂碼,並設定 `terminal.integrated.mouseWheelScrollSensitivity` 以在[全螢幕模式](/docs/zh-TW/fullscreen)中實現更平順的捲動。若要復原 GPU 加速變更,請將其設回 `"auto"` 並重新載入編輯器視窗。
37 38
38如果您在 tmux 內執行,即使外部終端機支援,Shift+Enter 也需要下面的 [tmux 配置](#configure-tmux)。39在 Zed 中,`/terminal-setup` 會就地更新您的 `keymap.json`:
39 40
40若要將換行符綁定到不同的快捷鍵,或交換行為使 Enter 插入換行符而 Shift+Enter 提交,請在您的[快捷鍵檔案](/zh-TW/keybindings)中對應 `chat:newline` 和 `chat:submit` 動作。41* 如果 keymap 已有快捷鍵設定,且其中沒有 Terminal `shift-enter`,Claude Code 會先將其備份到同一目錄中的副本(例如 `keymap.json.1a2b3c4d.bak`),然後將 Shift+Enter 快捷鍵合併到您的 keymap 中,保留您的其他快捷鍵和註解
42* 如果 Claude Code 無法讀取或解析 keymap、無法備份,或無法驗證合併結果,它會[保持檔案不變並列印快捷鍵區塊供您自行新增](/docs/zh-TW/errors#terminal-setup-left-your-zed-keymap-unchanged)
43
44如果您在 tmux 內執行,即使外部終端機支援,Shift+Enter 也需要下方的 [tmux 設定](#configure-tmux)。
45
46若要將換行符綁定到不同的按鍵,或交換行為使 Enter 插入換行符而 Shift+Enter 提交,請在您的[快捷鍵檔案](/docs/zh-TW/keybindings)中對應 `chat:newline` 和 `chat:submit` 動作。
41 47
42<h2 id="enable-option-key-shortcuts-on-macos">48<h2 id="enable-option-key-shortcuts-on-macos">
43 在 macOS 上啟用 Option 快捷鍵49 在 macOS 上啟用 Option 鍵快捷鍵
44</h2>50</h2>
45 51
46某些 Claude Code 快捷鍵使用 Option 快捷鍵,例如 Option+Enter 用於換行符或 Option+P 用於切換模型。在 macOS 上,大多數終端機預設不會將 Option 作為修飾符發送,因此這些快捷鍵在您啟用它之前無法運作。終端機設定通常標記為「使用 Option 作為 Meta 快捷鍵」;Meta 是現在標記為 Option 或 Alt 的快捷鍵的歷史 Unix 名稱。52某些 Claude Code 快捷鍵使用 Option 鍵,例如 Option+Enter 用於換行或 Option+P 用於切換模型。在 macOS 上,大多數終端機預設不會將 Option 作為修飾鍵發送,因此這些快捷鍵在啟用之前不會執行任何操作。終端機的此設定通常標記為「使用 Option 作為 Meta 鍵」;Meta 是現在標記為 Option 或 Alt 的鍵的歷史 Unix 名稱。
47 53
48<Tabs>54<Tabs>
49 <Tab title="Apple Terminal">55 <Tab title="Apple Terminal">
50 開啟設定 → 設定檔 → 鍵盤並勾選'使用 Option 作為 Meta 快捷鍵'。56 開啟「設定」→「描述檔」→「鍵盤」,並勾選「使用 Option 作為 Meta 鍵」。
57
58 如果您接受了 Claude Code 的首次執行終端機設定提示,這已經完成。該提示會為您執行 `/terminal-setup`,它會啟用 Option 作為 Meta 並在您的 Apple Terminal 描述檔中關閉可聽見的鈴聲。
51 59
52 如果您接受了 Claude Code 的首次執行提示,該提示提供'Option+Enter 用於換行符和視覺鈴聲',這已經完成。該提示為您執行 `/terminal-setup`,它在您的 Apple Terminal 設定檔中啟用 Option 作為 Meta 並將音訊鈴聲切換為視覺螢幕閃爍。60 在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中,`/terminal-setup` 保持鈴聲設定不變,以便終端機鈴聲保持可聽見。在 v2.1.211 之前,`/terminal-setup` 即使在螢幕閱讀器模式中也會關閉鈴聲。如果較早的執行關閉了鈴聲,請在「設定」→「描述檔」→「進階」→「可聽見的鈴聲」下重新開啟。
53 </Tab>61 </Tab>
54 62
55 <Tab title="iTerm2">63 <Tab title="iTerm2">
56 開啟設定 → 設定檔 → 快捷鍵 → 一般並將左 Option 快捷鍵和右 Option 快捷鍵設置為「Esc+」。64 開啟「設定」→「描述檔」→「按鍵」→「一般」,並將「左 Option 鍵」和「右 Option 鍵」設定為「Esc+」。
57 65
58 在 iTerm2 中執行 `/terminal-setup` 會在設定 → 一般 → 選取範圍下啟用「終端機中的應用程式可以存取剪貼簿」,以便 `/copy` 命令可以寫入您的系統剪貼簿。該命令即使在 tmux 內執行時也能偵測 iTerm2。重新啟動 iTerm2 以使變更生效。66 在 iTerm2 中執行 `/terminal-setup` 會在「設定」→「一般」→「選取」下啟用「終端機中的應用程式可以存取剪貼簿」,以便 `/copy` 命令可以寫入您的系統剪貼簿。該命令即使在 tmux 內執行時也能偵測 iTerm2。重新啟動 iTerm2 以使變更生效。
59 </Tab>67 </Tab>
60 68
61 <Tab title="VS Code">69 <Tab title="VS Code">
63 </Tab>71 </Tab>
64</Tabs>72</Tabs>
65 73
66對於 Ghostty、Kitty 和其他終端機,請在終端機的配置檔案中尋找 Option-as-Alt 或 Option-as-Meta 設定。74對於 Ghostty、Kitty 和其他終端機,請在終端機的設定檔中尋找 Option-as-Alt 或 Option-as-Meta 設定。
67 75
68<h2 id="get-a-terminal-bell-or-notification">76<h2 id="get-a-terminal-bell-or-notification">
69 獲得終端機鈴聲或通知77 取得終端機鈴聲或通知
70</h2>78</h2>
71 79
72當 Claude 完成工作或暫停以進行權限提示時,它會觸發通知事件。將其顯示為終端機鈴聲或桌面通知可讓您在長工作執行時切換到其他工作。80當 Claude 完成任務或暫停以等待權限提示,且您似乎不在終端機前時,它會觸發通知事件。請參閱[各通知類型何時觸發](/docs/zh-TW/hooks#notification)以了解確切的時機。將此顯示為終端機鈴聲或桌面通知可讓您在長時間任務執行時切換到其他工作。
73 81
74Claude Code 預設僅在 Ghostty、Kitty 和 iTerm2 中發送桌面通知。在其他終端機中,將 [`preferredNotifChannel`](/zh-TW/settings#available-settings) 設定為 `"terminal_bell"` 以改為響起終端機鈴聲,或配置[通知 hook](#play-a-sound-with-a-notification-hook) 以獲得自訂聲音或命令。82根據預設,Claude Code 僅在 Ghostty、Kitty 和 iTerm2 中傳送桌面通知。在其他終端機中,將 [`preferredNotifChannel`](/docs/zh-TW/settings-reference#preferrednotifchannel) 設定為 `"terminal_bell"` 以改為響起終端機鈴聲,或設定[通知 hook](#play-a-sound-with-a-notification-hook) 以取得自訂音效或命令。下列設定項目會開啟終端機鈴聲:
75 83
76桌面通知透過 SSH 到達您的本機,因此遠端工作階段仍然可以提醒您。Ghostty 和 Kitty 無需進一步設置即可將其轉發到您的 OS 通知中心。iTerm2 要求您啟用轉發:84```json ~/.claude/settings.json theme={null}
85{
86 "preferredNotifChannel": "terminal_bell"
87}
88```
89
90桌面通知透過 SSH 到達您的本機,因此遠端工作階段仍可提醒您。Ghostty 和 Kitty 會將其轉發到您的作業系統通知中心,無需進一步設定。iTerm2 需要您啟用轉發:
77 91
78<Steps>92<Steps>
79 <Step title="開啟 iTerm2 通知設定">93 <Step title="開啟 iTerm2 通知設定">
80 前往設定 → 設定檔 → 終端機。94 前往 Settings → Profiles → Terminal。
81 </Step>95 </Step>
82 96
83 <Step title="啟用警報">97 <Step title="啟用警示">
84 勾選「通知中心警報」,然後點擊「篩選警報」並啟用「傳送逃脫序列產生的警報」。98 勾選「Notification Center Alerts」,然後按一下「Filter Alerts」並啟用「Send escape sequence-generated alerts」。
85 </Step>99 </Step>
86</Steps>100</Steps>
87 101
88如果通知仍未出現,請確認您的終端機應用程式在您的 OS 設定中具有通知權限,如果您在 tmux 內執行,請[啟用通過](#configure-tmux)。102如果通知仍未出現,請確認您的終端機應用程式在作業系統設定中具有通知權限,且如果您在 tmux 內執行,請[啟用傳遞](#configure-tmux)。
89 103
90<h3 id="play-a-sound-with-a-notification-hook">104<h3 id="play-a-sound-with-a-notification-hook">
91 使用通知 hook 播放聲音105 使用通知 hook 播放音效
92</h3>106</h3>
93 107
94在任何終端機中,您可以配置[通知 hook](/zh-TW/hooks-guide#get-notified-when-claude-needs-input) 以在 Claude 需要您的注意時播放聲音或執行自訂命令。Hooks 與內建通知一起執行,而不是替代它,因此不會收到桌面通知的終端機(例如 Warp 或 VS Code 整合終端機)可以使用 hook 或將 `preferredNotifChannel` 設定為 `"terminal_bell"` 代替。108在任何終端機中,您可以設定[通知 hook](/docs/zh-TW/hooks-guide#get-notified-when-claude-needs-input) 以在 Claude 需要您注意時播放音效或執行自訂命令。Hook 與內建通知一起執行,而不是取代它,因此不會收到桌面通知的終端機(例如 Warp 或 VS Code 整合終端機)可以使用 hook 或改為將 `preferredNotifChannel` 設定為 `"terminal_bell"`。
95 109
96下面的範例在 macOS 上播放系統聲音。連結的指南包含 macOS、Linux 和 Windows 的桌面通知命令。110下列範例在 macOS 上播放系統音效。連結的指南包含 macOS、Linux 和 Windows 的桌面通知命令。
97 111
98```json ~/.claude/settings.json theme={null}112```json ~/.claude/settings.json theme={null}
99{113{
108```122```
109 123
110<h2 id="configure-tmux">124<h2 id="configure-tmux">
111 配置 tmux125 設定 tmux
112</h2>126</h2>
113 127
114當 Claude Code 在 tmux 內執行時,預設情況下會發生兩件事:Shift+Enter 提交而不是插入換行符,桌面通知和[進度列](/zh-TW/settings#available-settings)永遠無法到達外部終端機。將這些行新增至 `~/.tmux.conf`,然後執行 `tmux source-file ~/.tmux.conf` 以將它們應用到執行中的伺服器:128當 Claude Code 在 tmux 內執行時,預設會發生兩個問題:Shift+Enter 會提交而不是插入新行,且桌面通知和[進度列](/docs/zh-TW/settings-reference#terminalprogressbarenabled)永遠無法到達外層終端。將這些行新增到 `~/.tmux.conf`,然後執行 `tmux source-file ~/.tmux.conf` 以將其套用到執行中的伺服器:
115 129
116```bash ~/.tmux.conf theme={null}130```bash ~/.tmux.conf theme={null}
117set -g allow-passthrough on131set -g allow-passthrough on
119set -as terminal-features 'xterm*:extkeys'133set -as terminal-features 'xterm*:extkeys'
120```134```
121 135
122`allow-passthrough` 行讓通知和進度更新到達外部終端機,而不是被 tmux 吞沒。`extended-keys` 行讓 tmux 區分 Shift+Enter 和純 Enter,以便換行符快捷鍵運作。136`allow-passthrough` 行讓通知和進度更新到達外層終端,而不是被 tmux 吞沒。`extended-keys` 行讓 tmux 區分 Shift+Enter 和純 Enter,以便換行快捷鍵能夠運作。
137
138<h2 id="fix-backspace-deleting-a-whole-word-on-windows">
139 修復 Windows 上 Backspace 刪除整個單詞的問題
140</h2>
141
142在 Windows 上,Claude Code 將到達的 Backspace 讀取為 `^H` 時會將其解釋為 Ctrl+Backspace,這會[刪除前一個單詞](/docs/zh-TW/interactive-mode#text-editing),除非 `TERM_PROGRAM` 是 `mintty` 或 `TERM` 是 `cygwin`。在 macOS 和 Linux 上,Claude Code 將其讀取為純 Backspace。
143
144如果每次按下 Backspace 都會刪除整個單詞,表示您的終端機為純 Backspace 發送 `^H`。設定 [`CLAUDE_CODE_BS_AS_CTRL_BACKSPACE=0`](/docs/zh-TW/env-vars)。Backspace 和 Ctrl+H 隨後將各刪除一個字元。如果在 macOS 或 Linux 上 Ctrl+Backspace 只刪除一個字元,因為您的終端機為其發送 `^H`,請改為將變數設定為 `1`。
123 145
124<h2 id="match-the-color-theme">146<h2 id="match-the-color-theme">
125 匹配色彩主題147 配對色彩主題
126</h2>148</h2>
127 149
128使用 `/theme` 命令或 `/config` 中的主題選擇器來選擇與您的終端機相匹配的 Claude Code 主題。選擇自動選項會偵測您的終端機的淺色或深色背景,因此主題會在您的終端機執行時跟隨 OS 外觀變更。Claude Code 不控制終端機自己的色彩配置,該配置由終端機應用程式設定。150使用 `/theme` 指令,或在 `/config` 中的主題選擇器,選擇與您的終端機相符的 Claude Code 主題。選擇自動選項會偵測您終端機的淺色或深色背景,因此主題會在您的終端機跟隨作業系統外觀變更時隨之改變。Claude Code 不會控制終端機本身的色彩配置,該配置由終端機應用程式設定。
129 151
130若要自訂介面底部出現的內容,請配置[自訂狀態列](/zh-TW/statusline),顯示目前的模型、工作目錄、git 分支或其他上下文。152若要自訂介面底部顯示的內容,請設定一個[自訂狀態列](/docs/zh-TW/statusline),顯示目前的模型、工作目錄、Git 分支或其他內容。
131 153
132<h3 id="create-a-custom-theme">154<h3 id="create-a-custom-theme">
133 建立自訂主題155 建立自訂主題
134</h3>156</h3>
135 157
136<Note>158除了內建預設值外,`/theme` 會列出您已定義的任何自訂主題,以及由已安裝的[外掛程式](/docs/zh-TW/plugins-reference#themes)貢獻的任何主題。選擇清單末尾的\*\*新增自訂主題…\*\*以互動方式建立一個:您命名主題,然後選擇要覆寫的個別色彩權杖。當自訂主題被反白顯示時,按 `Ctrl+E` 以編輯它。
137 自訂主題需要 Claude Code v2.1.118 或更新版本。
138</Note>
139
140除了內建預設值外,`/theme` 還會列出您已定義的任何自訂主題以及已安裝 [plugins](/zh-TW/plugins-reference#themes) 貢獻的任何主題。選擇清單末尾的 **New custom theme…** 以互動方式建立一個:您命名主題,然後選擇要覆蓋的個別色彩令牌。當自訂主題被突出顯示時,按 `Ctrl+E` 以編輯它。
141 159
142每個自訂主題都是 `~/.claude/themes/` 中的 JSON 檔案。不含 `.json` 副檔名的檔案名稱是主題的 slug,選擇主題會將 `custom:<slug>` 儲存為您的主題偏好設定。該檔案有三個選用欄位:160每個自訂主題都是 `~/.claude/themes/` 中的 JSON 檔案。不含 `.json` 副檔名的檔案名稱是主題的 slug,選擇主題會將 `custom:<slug>` 儲存為您的主題偏好設定。該檔案有三個選用欄位:
143 161
144| 欄位 | 類型 | 描述 |162| 欄位 | 類型 | 說明 |
145| :---------- | :----- | :--------------------------------------------------------------------------------------------------- |163| :---------- | :----- | :--------------------------------------------------------------------------------------------------- |
146| `name` | string | 在 `/theme` 中顯示的標籤。預設為檔案名稱 slug |164| `name` | string | 在 `/theme` 中顯示的標籤。預設為檔案名稱 slug |
147| `base` | string | 主題開始的內建預設值:`dark`、`light`、`dark-daltonized`、`light-daltonized`、`dark-ansi` 或 `light-ansi`。預設為 `dark` |165| `base` | string | 主題開始的內建預設值:`dark`、`light`、`dark-daltonized`、`light-daltonized`、`dark-ansi` 或 `light-ansi`。預設為 `dark` |
148| `overrides` | object | 色彩令牌名稱到色彩值的對應。此處未列出的令牌會落回到基礎預設值 |166| `overrides` | object | 色彩權杖名稱到色彩值的對應。此處未列出的權杖會回退到基礎預設值 |
149 167
150色彩值接受 `#rrggbb`、`#rgb`、`rgb(r,g,b)`、`ansi256(n)` 或 `ansi:<name>`,其中 `<name>` 是 16 個標準 ANSI 色彩名稱之一,例如 `red` 或 `cyanBright`。未知的令牌和無效的色彩值會被忽略,因此打字錯誤無法破壞呈現。168色彩值接受 `#rrggbb`、`#rgb`、`rgb(r,g,b)`、`ansi256(n)` 或 `ansi:<name>`,其中 `<name>` 是 16 個標準 ANSI 色彩名稱之一,例如 `red` 或 `cyanBright`。未知的權杖和無效的色彩值會被忽略,因此打字錯誤無法破壞轉譯。
151 169
152以下範例定義了一個保留深色預設值但重新著色提示符號重點、錯誤文字和成功文字的主題:170以下範例定義了一個保留深色預設值但重新著色提示符號重點、錯誤文字和成功文字的主題:
153 171
163}181}
164```182```
165 183
166Claude Code 監視 `~/.claude/themes/` 並在檔案變更時重新載入,因此在您的編輯器中所做的編輯會在執行中的工作階段中應用,無需重新啟動。184Claude Code 監視 `~/.claude/themes/` 並在檔案被新增或變更時重新載入,因此在您的編輯器中所做的編輯會在執行中的工作階段中套用,無需重新啟動。如果 Claude Code 啟動時 `~/.claude/themes/` 資料夾本身不存在,請在建立第一個主題檔案後重新啟動一次。之後,變更會在無需重新啟動的情況下套用。
167 185
168以下參考涵蓋了您可以在 `overrides` 中設定的令牌。`/theme` 中的互動編輯器顯示相同的令牌,並提供即時預覽,加上此處未涵蓋的少數單一用途重點,例如上線畫面色彩。186下面的參考涵蓋了您可以在 `overrides` 中設定的權杖。`/theme` 中的互動式編輯器顯示相同的權杖,並提供即時預覽,加上一些單一用途的重點,例如此處省略的上線畫面色彩。
169 187
170<Accordion title="色彩令牌參考">188<Accordion title="色彩權杖參考">
171 以下範例結合了下列幾個群組中的令牌:品牌重點、Plan Mode 邊框、diff 背景和全螢幕訊息背景。189 以下範例結合了下列幾個群組中的權杖:品牌重點、計畫模式邊框、差異背景和訊息背景。
172 190
173 ```json ~/.claude/themes/midnight.json theme={null}191 ```json ~/.claude/themes/midnight.json theme={null}
174 {192 {
190 208
191 控制整個介面中使用的主要品牌重點和前景文字陰影。209 控制整個介面中使用的主要品牌重點和前景文字陰影。
192 210
193 | 令牌 | 控制項 |211 | 權杖 | 控制項 |
194 | :------------ | :------------------- |212 | :------------ | :------------------- |
195 | `claude` | 主要品牌重點,用於微調器和助手標籤 |213 | `claude` | 主要品牌重點,用於微調器和助理標籤 |
196 | `text` | 預設前景文字 |214 | `text` | 預設前景文字 |
197 | `inverseText` | 繪製在彩色背景上的文字,例如狀態徽章 |215 | `inverseText` | 繪製在彩色背景上的文字,例如狀態徽章 |
198 | `inactive` | 次要文字,例如提示、時間戳記和停用的項目 |216 | `inactive` | 次要文字,例如提示、時間戳記和停用的項目 |
199 | `subtle` | 淡色邊框和去強調的次要文字 |217 | `subtle` | 淡色邊框和去強調的次要文字 |
200 | `suggestion` | 自動完成建議和選擇器中的選擇突出顯示 |218 | `suggestion` | 自動完成建議和選擇器中的選擇反白顯示 |
201 | `permission` | 對話方塊邊框,包括權限提示和選擇器 |219 | `permission` | 對話方塊邊框,包括權限提示和選擇器 |
202 | `remember` | 記憶體和 `CLAUDE.md` 指示器 |220 | `remember` | 記憶和 `CLAUDE.md` 指示器 |
203 221
204 <h4 id="status-colors">222 <h4 id="status-colors">
205 狀態色彩223 狀態色彩
207 225
208 在訊息和指示器中發出成功、失敗和警告狀態的信號。226 在訊息和指示器中發出成功、失敗和警告狀態的信號。
209 227
210 | 令牌 | 控制項 |228 | 權杖 | 控制項 |
211 | :-------- | :------------- |229 | :-------- | :------------- |
212 | `success` | 成功訊息和通過的檢查 |230 | `success` | 成功訊息和通過的檢查 |
213 | `error` | 錯誤訊息和失敗 |231 | `error` | 錯誤訊息和失敗 |
215 | `merged` | 合併的提取要求狀態 |233 | `merged` | 合併的提取要求狀態 |
216 234
217 <h4 id="input-box-and-mode-indicators">235 <h4 id="input-box-and-mode-indicators">
218 輸入框和模式指示器236 輸入方塊和模式指示器
219 </h4>237 </h4>
220 238
221 設定輸入框邊框色彩和權限模式或指示器作用中時顯示的重點。239 設定輸入方塊邊框色彩和在權限模式或指示器啟用時顯示的重點。
222 240
223 | 令牌 | 控制項 |241 | 權杖 | 控制項 |
224 | :------------- | :--------------------- |242 | :------------- | :----------------------------------------------------------------------------------------------------------------------- |
225 | `promptBorder` | 預設權限模式中的輸入框邊框 |243 | `promptBorder` | 手動模式中的輸入方塊邊框 |
226 | `planMode` | Plan Mode 重點和邊框 |244 | `planMode` | Plan Mode 重點和邊框 |
227 | `autoAccept` | Accept-edits 模式重點和邊框 |245 | `autoAccept` | 接受編輯模式重點和邊框 |
228 | `bashBorder` | 輸入 `!` shell 命令時的輸入框邊框 |246 | `bashBorder` | 輸入 `!` shell 指令時的輸入方塊邊框 |
229 | `ide` | IDE 連線指示器 |247 | `ide` | IDE 連線指示器 |
230 | `fastMode` | 快速模式指示器 |248 | `fastMode` | 快速模式指示器 |
249 | `effortUltra` | 啟用 [ultracode](/docs/zh-TW/model-config#adjust-effort-level) 時輸入方塊邊框上的 `ultracode` 標籤。您對此色彩的覆寫在 Claude Code v2.1.239 或更新版本上生效 |
231 250
232 <h4 id="diff-rendering">251 <h4 id="diff-rendering">
233 Diff 呈現252 差異轉譯
234 </h4>253 </h4>
235 254
236 在檔案編輯和審查中著色新增和移除的程式碼。255 在檔案編輯和審查中著色新增和移除的程式碼。
237 256
238 | 令牌 | 控制項 |257 | 權杖 | 控制項 |
239 | :------------------ | :------------- |258 | :------------------ | :------------------- |
240 | `diffAdded` | 新增行的背景 |259 | `diffAdded` | 新增行的背景 |
241 | `diffRemoved` | 移除行的背景 |260 | `diffRemoved` | 移除行的背景 |
242 | `diffAddedDimmed` | 新增行附近未變更上下文的背景 |261 | `diffAddedDimmed` | 您拒絕編輯後顯示的淡化差異中新增行的背景 |
243 | `diffRemovedDimmed` | 移除行附近未變更上下文的背景 |262 | `diffRemovedDimmed` | 您拒絕編輯後顯示的淡化差異中移除行的背景 |
244 | `diffAddedWord` | 新增行內的字級突出顯示 |263 | `diffAddedWord` | 新增行內的字級反白顯示 |
245 | `diffRemovedWord` | 移除行內的字級突出顯示 |264 | `diffRemovedWord` | 移除行內的字級反白顯示 |
246 265
247 <h4 id="fullscreen-mode">266 <h4 id="fullscreen-mode">
248 全螢幕模式267 全螢幕模式
249 </h4>268 </h4>
250 269
251 僅在[全螢幕呈現模式](/zh-TW/fullscreen)中套用,其中訊息具有背景填充。270 Claude Code 在預設和全螢幕轉譯器中繪製 `userMessageBackground`、`bashMessageBackgroundColor` 和 `memoryBackgroundColor`。它僅在[全螢幕轉譯模式](/docs/zh-TW/fullscreen)中使用 `userMessageBackgroundHover` 和 `selectionBg`。
252 271
253 | 令牌 | 控制項 |272 | 權杖 | 控制項 |
254 | :--------------------------- | :------------------------ |273 | :--------------------------- | :------------------------ |
255 | `userMessageBackground` | 文字記錄中您的訊息後面的背景 |274 | `userMessageBackground` | 文字記錄中您的訊息後面的背景 |
256 | `userMessageBackgroundHover` | 訊息被懸停或展開時其後面的背景 |275 | `userMessageBackgroundHover` | 訊息被懸停或展開時後面的背景 |
257 | `messageActionsBackground` | 動作列開啟時所選訊息後面的背景 |276 | `bashMessageBackgroundColor` | 文字記錄中 `!` shell 指令項目後面的背景 |
258 | `bashMessageBackgroundColor` | 文字記錄中 `!` shell 命令項目後面的背景 |277 | `memoryBackgroundColor` | 文字記錄中 `#` 記憶項目後面的背景 |
259 | `memoryBackgroundColor` | 文字記錄中 `#` 記憶體項目後面的背景 |
260 | `selectionBg` | 使用滑鼠選取的文字背景 |278 | `selectionBg` | 使用滑鼠選取的文字背景 |
261 279
262 <h4 id="usage-meter-and-speaker-labels">280 <h4 id="usage-meter-and-speaker-labels">
263 使用量計量和說話者標籤281 使用量計量和說話者標籤
264 </h4>282 </h4>
265 283
266 調整 `/usage` 檢視中顯示的列,以及區分您的訊息與 Claude 訊息的標籤。284 調整在 `/usage` 檢視中顯示的列,以及區分您的訊息和 Claude 訊息的標籤。
267 285
268 | 令牌 | 控制項 |286 | 權杖 | 控制項 |
269 | :----------------- | :------------------- |287 | :----------------- | :------------------- |
270 | `rate_limit_fill` | 使用量計量的填充部分 |288 | `rate_limit_fill` | 使用量計量的填充部分 |
271 | `rate_limit_empty` | 使用量計量的未填充部分 |289 | `rate_limit_empty` | 使用量計量的未填充部分 |
272 | `briefLabelYou` | 您的訊息上 `You` 標籤的色彩 |290 | `briefLabelYou` | 您訊息上 `You` 標籤的色彩 |
273 | `briefLabelClaude` | 助手訊息上 `Claude` 標籤的色彩 |291 | `briefLabelClaude` | 助理訊息上 `Claude` 標籤的色彩 |
274 292
275 <h4 id="shimmer-variants-and-subagent-colors">293 <h4 id="shimmer-variants-and-subagent-colors">
276 微光變體和子代理色彩294 微光變體和子代理色彩
277 </h4>295 </h4>
278 296
279 多個令牌具有配對的微光變體,可提供微調器動畫漸層中使用的較淺色彩。如果動畫看起來不相符,請與其基礎令牌一起覆蓋微光。297 幾個權杖有配對的微光變體,提供微調器動畫漸層中使用的較淺色彩。如果動畫看起來不相符,請與其基礎權杖一起覆寫微光。
280 298
281 * `claude` 和 `claudeShimmer`299 * `claude` 和 `claudeShimmer`
282 * `warning` 和 `warningShimmer`300 * `warning` 和 `warningShimmer`
285 * `inactive` 和 `inactiveShimmer`303 * `inactive` 和 `inactiveShimmer`
286 * `fastMode` 和 `fastModeShimmer`304 * `fastMode` 和 `fastModeShimmer`
287 305
288 每個[子代理](/zh-TW/sub-agents)和平行工作都以八個命名色彩之一顯示,以便您可以在文字記錄中區分它們。令牌名稱遵循 `<color>_FOR_SUBAGENTS_ONLY` 的模式,其中 `<color>` 是 `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink` 或 `cyan`。覆蓋這些以變更每個命名色彩的外觀。例如,定義中具有 `color: blue` 的子代理使用 `blue_FOR_SUBAGENTS_ONLY` 值繪製。306 每個[子代理](/docs/zh-TW/sub-agents)和平行工作都以八個命名色彩之一顯示,以便您可以在文字記錄中區分它們。權杖名稱遵循 `<color>_FOR_SUBAGENTS_ONLY` 的模式,其中 `<color>` 是 `red`、`blue`、`green`、`yellow`、`purple`、`orange`、`pink` 或 `cyan`。覆寫這些以變更每個命名色彩的外觀。例如,定義中具有 `color: blue` 的子代理使用 `blue_FOR_SUBAGENTS_ONLY` 值繪製。
289 307
290 [`ultrathink`](/zh-TW/model-config#use-ultrathink-for-one-off-deep-reasoning) 和 [`ultraplan`](/zh-TW/ultraplan) 提示輸入中的關鍵字使用七色彩虹漸層呈現。令牌名稱遵循 `rainbow_<color>` 和 `rainbow_<color>_shimmer` 的模式,其中 `<color>` 是 `red`、`orange`、`yellow`、`green`、`blue`、`indigo` 或 `violet`。308 Claude Code 在提示輸入中使用七色彩虹漸層轉譯 [`ultrathink`](/docs/zh-TW/model-config#use-ultrathink-for-one-off-deep-reasoning) 關鍵字。權杖名稱遵循 `rainbow_<color>` 和 `rainbow_<color>_shimmer` 的模式,其中 `<color>` 是 `red`、`orange`、`yellow`、`green`、`blue`、`indigo` 或 `violet`。
291</Accordion>309</Accordion>
292 310
293<h2 id="switch-to-fullscreen-rendering">311<h2 id="switch-to-fullscreen-rendering">
294 切換到全螢幕渲染312 切換至全螢幕渲染
295</h2>313</h2>
296 314
297如果顯示閃爍或捲動位置在 Claude 工作時跳躍,請切換到[全螢幕渲染模式](/zh-TW/fullscreen)。它繪製到終端機為全螢幕應用程式保留的單獨螢幕,而不是附加到您的正常捲動,這保持記憶體使用平穩並新增滑鼠支援以進行捲動和選擇。在此模式中,您使用滑鼠或 PageUp 在 Claude Code 內捲動,而不是使用您的終端機的原生捲動;請參閱[全螢幕頁面](/zh-TW/fullscreen#search-and-review-the-conversation)以瞭解如何搜尋和複製。315在[螢幕閱讀器模式](/docs/zh-TW/accessibility)中,本節不適用。Claude Code 始終呈現為純文字滾動,除非在附加的[背景工作階段](/docs/zh-TW/agent-view)中,如果您在任何其他工作階段中執行 `/tui fullscreen`,Claude Code 會列印說明而不是切換。
316
317如果顯示閃爍或在 Claude 工作時捲動位置跳動,請切換至[全螢幕渲染模式](/docs/zh-TW/fullscreen)。在此模式中,您可以使用滑鼠或 PageUp 在 Claude Code 內捲動,而不是使用終端機的原生捲回;請參閱[全螢幕頁面](/docs/zh-TW/fullscreen#search-and-review-the-conversation)以了解如何搜尋和複製。
298 318
299如果閃爍是唯一的問題,且您的終端機支援同步輸出但未被自動偵測,例如 Emacs `eat`,請設定 [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/zh-TW/env-vars) 以停止閃爍而不改變渲染器。319如果閃爍是唯一的問題,且您的終端機支援同步輸出但未被自動偵測,例如 Emacs `eat`,請設定 [`CLAUDE_CODE_FORCE_SYNC_OUTPUT=1`](/docs/zh-TW/env-vars) 以停止閃爍而不改變渲染器。
300 320
301執行 `/tui fullscreen` 以切換並儲存偏好設定。您的對話會完整重新啟動,未來的工作階段會以全螢幕開始。您也可以在啟動 Claude Code 之前設置 `CLAUDE_CODE_NO_FLICKER` 環境變數:321執行 `/tui fullscreen` 以切換並儲存偏好設定。您的對話會完整重新啟動,未來的工作階段將以全螢幕啟動,除非[全螢幕啟動失敗](/docs/zh-TW/fullscreen#fullscreen-renderer-didnt-finish-starting)。您也可以在啟動 Claude Code 之前設定 `CLAUDE_CODE_NO_FLICKER` 環境變數:
302 322
303<CodeGroup>323<CodeGroup>
304 ```bash Bash and Zsh theme={null}324 ```bash Bash and Zsh theme={null}
322 貼上大型內容342 貼上大型內容
323</h2>343</h2>
324 344
325當您將超過 10,000 個字元貼上到提示中時,Claude Code 會將輸入摺疊為 `[Pasted text]` 預留位置,以便輸入框保持可用。完整內容在您提交時仍會發送到 Claude。345當您貼上超過 800 個字元或超過三行的內容到提示時,Claude Code 會將輸入摺疊為預留位置,例如 `[Pasted text #1 +120 lines]`,以保持輸入框可用。在短於 12 列的終端視窗中,行限制會降低,因此 Claude Code 在 11 列時會摺疊三行貼上,在 10 列或更少列時會摺疊任何多行貼上。Claude Code 在您提交時仍會傳送完整內容。
346
347當您使用字詞或行快捷鍵(例如 `Ctrl+W` 或 `Ctrl+K`)刪除,或透過 `f`/`t` 動作(例如 `df]`)使用 vim 刪除,且刪除範圍到達預留位置內部時,Claude Code 會完全移除預留位置。您可以貼上刪除的內容來復原它,在字詞或行快捷鍵後使用 [`Ctrl+Y`](/docs/zh-TW/interactive-mode#text-editing),或在 vim 刪除後使用 [`p` 在 NORMAL 模式中](/docs/zh-TW/interactive-mode#editing-normal-mode)。
348
349Claude Code 將摺疊的內容保留在 `~/.claude/paste-cache/` 下,因此當您從[命令歷史](/docs/zh-TW/interactive-mode#command-history)回想提示並重新提交時,Claude Code 會再次傳送完整貼上的內容,包括在稍後的工作階段中,直到保留掃描移除快取檔案。
350
351Claude Code 刪除早於 [`cleanupPeriodDays`](/docs/zh-TW/settings-reference#cleanupperioddays) 的快取檔案,遵循[保留掃描規則](/docs/zh-TW/claude-directory#cleaned-up-automatically),因此回想的提示可能參考不再存在的貼上文字。當您提交這樣的提示時,Claude Code 永遠不會傳送字面上的 `[Pasted text #N]` 字串,並顯示通知命名遺失的貼上:
352
353* 在有剩�文字的純提示中,Claude Code 移除預留位置並傳送剩餘文字。
354* 在[殼層模式](/docs/zh-TW/interactive-mode#shell-mode-with-prefix)命令或 `/` 命令中,移除會改變執行的內容,以及在任何提示中移除留下空白時,Claude Code 取消提交並在輸入中保留原始文字,預留位置仍在其中。刪除預留位置或編輯命令,然後重新提交。
326 355
327VS Code 整合終端機可能會在非常大的貼上中丟棄字元,然後才能到達 Claude Code,因此在那裡更喜歡基於檔案的工作流程。對於非常大的輸入(例如整個檔案或長日誌),請將內容寫入檔案並要求 Claude 讀取它,而不是貼上。這保持對話記錄可讀,並讓 Claude 在稍後的回合中按路徑參考檔案。356VS Code 整合終端可能會在非常大的貼上到達 Claude Code 之前從中丟棄字元,因此在那裡偏好檔案型工作流程。對於非常大的輸入(例如整個檔案或長日誌),將內容寫入檔案並要求 Claude 讀取它,而不是貼上。這保持對話記錄可讀,並讓 Claude 在稍後的回合中按路徑參考檔案。
328 357
329<h2 id="edit-prompts-with-vim-keybindings">358<h2 id="edit-prompts-with-vim-keybindings">
330 使用 Vim 快捷鍵編輯提示359 使用 Vim 快捷鍵編輯提示詞
331</h2>360</h2>
332 361
333Claude Code 包括提示輸入的 Vim 風格編輯模式。透過 `/config` → 編輯器模式啟用它,或透過在 `~/.claude/settings.json` 中將 [`editorMode`](/zh-TW/settings#available-settings) 設置為 `"vim"` 啟用它。將編輯器模式設置回 `normal` 以將其關閉。362Claude Code 包含用於提示詞輸入的 Vim 風格編輯模式。透過 `/config` → Editor mode 啟用它,或在 `~/.claude/settings.json` 中將 [`editorMode`](/docs/zh-TW/settings-reference#editormode) 設定為 `"vim"`。將 Editor mode 設回 `normal` 以關閉它。
334 363
335Vim 模式支援 NORMAL 模式和 VISUAL 模式動作和運算子的子集,例如 `hjkl` 導覽、`v`/`V` 選取,以及 `d`/`c`/`y` 搭配文字物件。請參閱 [Vim 編輯器模式參考](/zh-TW/interactive-mode#vim-editor-mode)以取得完整快捷鍵表。364Vim 模式支援 NORMAL 和 VISUAL 模式動作和運算子的子集,例如 `hjkl` 導航、`v`/`V` 選擇,以及 `d`/`c`/`y` 搭配文字物件。請參閱 [Vim 編輯器模式參考](/docs/zh-TW/interactive-mode#vim-editor-mode) 以取得完整的快捷鍵表。
336 365
337Vim 動作無法透過快捷鍵檔案重新對應。若要將兩個按鍵的 INSERT 模式序列(例如 `jj`)對應到 Escape,請在您的使用者設定中設置 [`vimInsertModeRemaps`](/zh-TW/interactive-mode#remap-insert-mode-key-sequences)。366Vim 動作無法透過快捷鍵檔案重新對應。若要將兩個按鍵的 INSERT 模式序列(例如 `jj`)對應到 Escape,請在使用者設定中設定 [`vimInsertModeRemaps`](/docs/zh-TW/interactive-mode#remap-insert-mode-key-sequences)。
338 367
339在 INSERT 模式中按 Enter 仍會提交您的提示,不同於標準 Vim。在 NORMAL 模式中使用 `o` 或 `O`,或 Ctrl+J,以插入換行符。368在 INSERT 模式中按 Enter 仍會提交您的提示詞,不同於標準 Vim。在 NORMAL 模式中使用 `o` 或 `O`,或按 Ctrl+J,以插入新行。
340 369
341<h2 id="related-resources">370<h2 id="related-resources">
342 相關資源371 相關資源
343</h2>372</h2>
344 373
345* [互動模式](/zh-TW/interactive-mode):完整鍵盤快捷鍵參考和 Vim 快捷鍵表374* [互動模式](/docs/zh-TW/interactive-mode):完整鍵盤快捷鍵參考和 Vim 快捷鍵表
346* [快捷鍵](/zh-TW/keybindings):重新對應任何 Claude Code 快捷鍵,包括 Enter 和 Shift+Enter375* [快捷鍵](/docs/zh-TW/keybindings):重新對應任何 Claude Code 快捷鍵,包括 Enter 和 Shift+Enter
347* [全螢幕渲染](/zh-TW/fullscreen):全螢幕模式中捲動、搜尋和複製的詳細資訊376* [全螢幕渲染](/docs/zh-TW/fullscreen):全螢幕模式中捲動、搜尋和複製的詳細資訊
348* [Hooks 指南](/zh-TW/hooks-guide):Linux 和 Windows 的更多通知 hook 範例377* [Hooks 指南](/docs/zh-TW/hooks-guide):Linux 和 Windows 的更多通知 hook 範例
349* [疑難排解](/zh-TW/troubleshooting):終端機配置外部問題的修復378* [疑難排解](/docs/zh-TW/troubleshooting):終端機配置外部問題的修復