全螢幕渲染是一個選擇加入的研究預覽,需要 Claude Code v2.1.89 或更新版本。在您目前的對話中執行
/tui fullscreen 以切換,或在 v2.1.110 之前的版本上設定 CLAUDE_CODE_NO_FLICKER=1。行為可能會根據回饋而改變。vim 或 htop 一樣,並且只渲染目前可見的訊息。這減少了每次更新時傳送到終端的資料量。
在渲染吞吐量是瓶頸的終端模擬器中,差異最為明顯,例如 VS Code 整合終端、tmux 和 iTerm2。如果您的終端捲動位置在 Claude 工作時跳到頂部,或者工具輸出串流進來時螢幕閃爍,此模式可以解決這些問題。
全螢幕一詞描述的是 Claude Code 如何接管終端的繪製表面,就像
vim 一樣。它與最大化終端視窗無關,並且在任何視窗大小下都能運作。啟用全螢幕渲染
在任何 Claude Code 對話中執行/tui fullscreen。CLI 會儲存 tui 設定並重新啟動進入全螢幕模式,您的對話保持完整,因此您可以在工作階段中途切換而不會失去上下文。執行 /tui 不帶任何引數以列印哪個渲染器處於活動狀態。
您也可以在啟動 Claude Code 之前設定 CLAUDE_CODE_NO_FLICKER 環境變數:
tui 設定和環境變數是等效的。/tui 命令會從重新啟動的程序中清除 CLAUDE_CODE_NO_FLICKER,以便它寫入的設定生效。
變更內容
全螢幕渲染改變了 CLI 如何繪製到您的終端。輸入框保持固定在螢幕底部,而不是在輸出串流進來時移動。如果輸入在 Claude 工作時保持不動,則全螢幕渲染處於活動狀態。只有可見的訊息保留在渲染樹中,因此無論對話長度如何,記憶體都保持恆定。 因為對話存在於替代螢幕緩衝區而不是終端的捲動回溯,所以有幾件事的運作方式不同:
如果滑鼠捕捉干擾您的工作流程,您可以關閉它,同時保持無閃爍渲染。
使用滑鼠
全螢幕渲染捕捉滑鼠事件並在 Claude Code 內處理它們:- 在提示輸入中點擊以在您輸入的文字中的任何位置定位游標。
- 點擊
/命令或@檔案清單中的建議以接受它。懸停會突顯游標下的列。 - 點擊摺疊的工具結果以展開它並查看完整輸出。再次點擊以摺疊。工具呼叫及其結果一起展開。只有有更多內容要顯示的訊息才可點擊。
- 點擊 URL 或檔案路徑以開啟它。工具輸出中的檔案路徑(例如在 Edit 或 Write 後列印的路徑)在您的預設應用程式中開啟。純
http://和https://URL 在您的瀏覽器中開啟。在大多數終端中,這會取代原生Cmd點擊或Ctrl點擊,滑鼠捕捉會攔截這些。在 VS Code 整合終端和類似的基於 xterm.js 的終端中,繼續使用Cmd點擊。Claude Code 在那裡遵從終端自己的連結處理程式,以避免連結開啟兩次。 - 點擊並拖曳以在對話中的任何位置選擇文字。雙擊選擇一個單詞,符合 iTerm2 的單詞邊界,因此檔案路徑選擇為一個單位。三擊選擇該行。
- 使用滑鼠滾輪捲動以在對話中移動。
/config 中切換「選擇時複製」。關閉後,按 Ctrl+Shift+c 手動複製。在支援 kitty 鍵盤協議的終端上,例如 kitty、WezTerm、Ghostty 和 iTerm2,Cmd+c 也可以運作。如果您有活動選擇,Ctrl+c 複製而不是取消。
有活動選擇時,按住 Shift 並按方向鍵以從鍵盤延伸它。Shift+↑ 和 Shift+↓ 在選擇到達頂部或底部邊緣時捲動檢視區。Shift+Home 和 Shift+End 延伸到目前行的開始或結束。
捲動對話
全螢幕渲染在應用程式內處理捲動。使用這些快捷鍵來導航:| 快捷鍵 | 動作 |
|---|---|
PgUp / PgDn | 向上或向下捲動半個螢幕 |
Ctrl+Home | 跳到對話的開始 |
Ctrl+End | 跳到最新訊息並重新啟用自動跟隨 |
| 滑鼠滾輪 | 一次捲動幾行 |
PgUp、PgDn、Home 或 End 鍵的鍵盤上,例如 MacBook 鍵盤,按住 Fn 並使用方向鍵:Fn+↑ 傳送 PgUp、Fn+↓ 傳送 PgDn、Fn+← 傳送 Home、Fn+→ 傳送 End。這使 Ctrl+Fn+→ 成為跳到底部的快捷鍵。如果感覺很尷尬,請使用滑鼠滾輪捲動到底部以恢復跟隨,或將 scroll:bottom 重新繫結到可達到的東西。
這些動作是可重新繫結的。請參閱捲動動作以取得完整的動作名稱清單,包括沒有預設繫結的半頁和整頁變體。
自動跟隨
向上捲動會暫停自動跟隨,以便新輸出不會將您拉回底部。按Ctrl+End 或捲動到底部以恢復跟隨。
若要完全關閉自動跟隨,使檢視保持在您留下的位置,請開啟 /config 並將「自動捲動」設定為關閉。禁用自動捲動後,檢視永遠不會自動跳到底部。需要回應的權限提示和其他對話框無論此設定如何都仍會捲動到檢視中。
滑鼠滾輪捲動
滑鼠滾輪捲動需要您的終端將滑鼠事件轉發給 Claude Code。大多數終端在應用程式要求時都會執行此操作。iTerm2 將其設為每個設定檔的設定:如果滾輪無法執行任何操作,但PgUp 和 PgDn 運作,請開啟「設定」→「設定檔」→「終端」並開啟「啟用滑鼠報告」。點擊展開和文字選擇也需要相同的設定。
如果滑鼠滾輪捲動感覺很慢,您的終端可能每個物理凹口傳送一個捲動事件,沒有乘數。某些終端(例如 Ghostty 和啟用更快捲動的 iTerm2)已經放大了滾輪事件。其他終端(包括 VS Code 整合終端)每個凹口傳送恰好一個事件。Claude Code 無法偵測哪個。
設定 CLAUDE_CODE_SCROLL_SPEED 以乘以基本捲動距離:
3 符合 vim 和類似應用程式中的預設值。該設定接受 1 到 20 的值,以及低於 1 的分數值(例如 0.5)以減緩終端上原本放大的加速觸控板和滾輪捲動。
若要以互動方式調整捲動速度,請執行 /scroll-speed。對話框顯示一個尺標,您可以在其開啟時捲動,以便您可以立即感受到變化。按 ← 和 → 以調整,按 r 以重設為自動偵測的預設值,按 Enter 以儲存。該命令寫入與 CLAUDE_CODE_SCROLL_SPEED 環境變數設定相同的值,持久化到 ~/.claude/settings.json。該命令在 JetBrains IDE 終端中不可用。
另外,Claude Code 會在您快速旋轉滾輪時加速捲動速率,因此快速旋轉覆蓋的距離比相同數量的慢凹口更遠。若要關閉加速並保持每個凹口的恆定速率,請在 settings.json 中將 wheelScrollAccelerationEnabled 設定為 false。此設定需要 Claude Code v2.1.174 或更新版本。
JetBrains IDE 終端中的捲動
在 JetBrains IDE 終端中,Claude Code 應用其自己的捲動處理並忽略CLAUDE_CODE_SCROLL_SPEED。終端以比其他模擬器高得多的速率傳送捲動事件,因此在其他地方調整的乘數會在此處超出。
在 2025.2 中,終端也有捲動滾輪錯誤,會產生虛假的方向鍵和錯誤方向的事件。Claude Code 在執行時偵測這些錯誤並自動減輕它們,因此觸控板和滑鼠滾輪捲動無需設定即可運作。為了獲得最佳捲動體驗,請升級到 2025.3 或更新版本。如果 Claude Code 偵測到該錯誤,它會在您第一次捲動時顯示提示。
搜尋和檢閱對話
Ctrl+o 在正常提示和文字記錄模式之間切換。若要取得更安靜的檢視,只顯示您的最後一個提示、工具呼叫的單行摘要(含編輯 diffstats)和最終回應,請執行 /focus。該設定在工作階段之間保持。再次執行 /focus 以關閉它。
文字記錄模式獲得 less 風格的導航和搜尋:
| 鍵 | 動作 |
|---|---|
/ | 開啟搜尋。輸入以尋找符合項,Enter 接受,Esc 取消並恢復您的捲動位置 |
n / N | 跳到下一個或上一個符合項。在您關閉搜尋列後運作 |
j / k 或 ↑ / ↓ | 捲動一行 |
g / G 或 Home / End | 跳到頂部或底部 |
Ctrl+u / Ctrl+d | 捲動半頁 |
Ctrl+b / Ctrl+f 或 Space / b | 捲動整頁 |
Ctrl+o、Esc 或 q | 退出文字記錄模式並返回提示 |
Cmd+f 和 tmux 搜尋看不到對話,因為它存在於替代螢幕緩衝區,而不是原生捲動回溯。若要將內容交還給您的終端,請先按 Ctrl+o 進入文字記錄模式,然後:
[:將完整對話寫入您的終端的原生捲動回溯緩衝區,所有工具輸出都已展開。對話現在是終端中的普通文字,因此Cmd+f、tmux 複製模式和任何其他原生工具都可以搜尋或選擇它。長工作階段在發生此情況時可能會暫停片刻。這會持續到您使用Esc或q退出文字記錄模式,這會讓您回到全螢幕渲染。下一個Ctrl+o重新開始。v:將對話寫入臨時檔案並在$VISUAL或$EDITOR中開啟它。
Esc 或 q 返回提示。
清除對話
在兩秒內按Ctrl+L 兩次以執行 /clear 並開始新對話。第一次按下會重新繪製螢幕並顯示提示;第二次按下會清除對話。在 macOS 上,雙擊 Cmd+K 也會執行 /clear。
與 tmux 搭配使用
全螢幕渲染在 tmux 內運作,有三個注意事項。 滑鼠滾輪捲動需要 tmux 的滑鼠模式。如果您的~/.tmux.conf 尚未啟用它,請新增此行並重新載入您的設定:
PgUp 和 PgDn 的鍵盤捲動無論如何都能運作。如果 Claude Code 偵測到 tmux 且滑鼠模式關閉,它會在啟動時列印一次性提示。
全螢幕渲染與 iTerm2 的 tmux 整合模式不相容,這是您使用 tmux -CC 進入的模式。在整合模式中,iTerm2 將每個 tmux 窗格渲染為原生分割,而不是讓 tmux 繪製到終端。替代螢幕緩衝區和滑鼠追蹤在那裡無法正確運作:滑鼠滾輪無法執行任何操作,雙擊可能會損壞終端狀態。不要在 tmux -CC 工作階段中啟用全螢幕渲染。在 iTerm2 內的常規 tmux(沒有 -CC)運作良好。
tmux 不支援同步輸出,因此在重繪期間您可能會看到比直接在終端中執行 Claude Code 時更多的閃爍。如果閃爍明顯,特別是在 SSH 上,請在 tmux 外的自己的終端標籤中執行 Claude Code。
保持原生文字選擇
滑鼠捕捉是最常見的摩擦點,特別是在 SSH 上或 tmux 內。當 Claude Code 捕捉滑鼠事件時,您的終端的原生複製選擇停止運作。您使用點擊並拖曳進行的選擇存在於 Claude Code 內,而不是在您的終端的選擇緩衝區中,因此 tmux 複製模式、Kitty 提示和類似工具看不到它。 Claude Code 將選擇寫入您的系統剪貼簿,它使用的路徑取決於您的設定。在本機工作階段上,它執行原生剪貼簿工具:- macOS:
pbcopy - Linux: Wayland 上的
wl-copy,或 X11 上已安裝的xclip或xsel。Claude Code 同時寫入剪貼簿和 PRIMARY 選擇,因此中鍵貼上可以運作。 - Windows 和 WSL: PowerShell
Set-Clipboard
/terminal-setup 會為您啟用此功能。
如果您想進行一次性的原生選擇,要使用的按鍵取決於您的終端:
- Terminal.app:
Fn - iTerm2:
Option - VS Code、Cursor 和 Devin Desktop:
Shift,或在啟用terminal.integrated.macOptionClickForcesSelection設定的 macOS 上使用Option - 大多數其他終端:
Shift
Cmd+C 可以在您選擇的內容上運作。Claude Code 也會在其螢幕上的提示中顯示正確的按鍵。
在 SSH 上或 tmux 內,Claude Code 無法總是偵測您連接的終端,因此提示會列出候選按鍵。
如果您一直依賴原生選擇,請設定 CLAUDE_CODE_DISABLE_MOUSE=1 以選擇退出滑鼠捕捉,同時保持無閃爍渲染和平穩記憶體:
PgUp、PgDn、Ctrl+Home 和 Ctrl+End 的鍵盤捲動仍然運作,您的終端原生處理選擇。您會失去點擊定位游標、點擊展開工具輸出、URL 點擊和 Claude Code 內的滾輪捲動。
研究預覽
全螢幕渲染是一個研究預覽功能。它已在常見終端模擬器上進行測試,但您可能會在不太常見的終端或不尋常的設定上遇到渲染問題。 如果您遇到問題,請在 Claude Code 內執行/feedback 以報告它,或在 claude-code GitHub 儲存庫上開啟問題。包括您的終端模擬器名稱和版本。
若要關閉全螢幕渲染,請執行 /tui default,或如果您以該方式啟用它,請取消設定 CLAUDE_CODE_NO_FLICKER。若要不論已儲存的 tui 設定為何都強制使用經典渲染器,請設定 CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1。經典渲染器將對話保留在您終端的原生捲軸中,因此 Cmd+f 和 tmux 複製模式可以照常運作。
從 agent view 或 claude attach 開啟的背景工作階段始終使用全螢幕渲染。附加終端進入替代螢幕緩衝區以顯示工作階段,經典渲染器在那裡沒有捲軸或滑鼠處理,因此 tui 設定和 CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN 不適用於它們。