Skip to content

全屏渲染(Fullscreen rendering)

无闪烁、支持鼠标、长对话内存平稳的替代渲染模式,需 v2.1.89+。

是什么

全屏渲染是 Claude Code CLI 的一条替代渲染路径,可消除闪烁、在长对话中保持内存占用平稳,并增加鼠标支持。它像 vim 或 htop 一样,把界面绘制在终端的备用屏幕缓冲区(alternate screen buffer)上,并且只渲染当前可见的消息,从而减少每次更新发往终端的数据量。

该效果在渲染吞吐量受限的终端中最为明显,例如 VS Code 集成终端、tmux 和 iTerm2。「fullscreen」一词指的是 Claude Code 像 vim 那样接管终端绘制表面,与最大化终端窗口无关,任何窗口尺寸都可用。

怎么工作

  • 在备用屏幕缓冲区绘制界面,仅把可见消息保留在渲染树中,因此内存占用与对话长度无关、保持恒定。
  • 输入框固定在屏幕底部,不随输出滚动而移动;若 Claude 工作时输入框保持不动,即说明全屏渲染已生效。
  • 捕获鼠标事件并在 Claude Code 内部处理:可点击定位光标、点击 / 命令或 @ 文件建议、点击折叠的工具结果展开/折叠、点击 URL 或文件路径打开、拖拽选择文本、滚轮滚动。
  • 选中文本在松开鼠标时自动复制到剪贴板。
  • 对话存于备用屏幕缓冲区而非终端原生回滚区,因此查找、选择复制、打开 URL 的方式与以往不同。
  • 向上滚动会暂停 auto-follow(自动跟随底部),按 Ctrl+End 或滚到底部可恢复。
  • tui 设置与 CLAUDE_CODE_NO_FLICKER 环境变量等效;/tui 命令会清除重启进程中的 CLAUDE_CODE_NO_FLICKER,使其写入的设置生效。

怎么配置 / 用法

启用(会话内切换,保留上下文):

bash
/tui fullscreen

/tui(无参数)打印当前生效的渲染器;用 /tui default 关闭。

通过环境变量启用:

bash
CLAUDE_CODE_NO_FLICKER=1 claude

保留无闪烁渲染但关闭鼠标捕获(保留原生文本选择):

bash
CLAUDE_CODE_NO_FLICKER=1 CLAUDE_CODE_DISABLE_MOUSE=1 claude

调整滚轮速度(取值 1-20,3 等同 vim 默认):

bash
export CLAUDE_CODE_SCROLL_SPEED=3

也可用 /scroll-speed 交互调整(写入 ~/.claude/settings.json,JetBrains IDE 终端不可用)。

滚动快捷键:PgUp/PgDn 翻半屏,Ctrl+Home 跳到开头,Ctrl+End 跳到最新并恢复自动跟随。MacBook 键盘用 Fn+方向键。

什么时候用

  • 在 VS Code 集成终端、tmux、iTerm2 等渲染吞吐量受限的终端中使用。
  • Claude 工作时终端滚动位置跳到顶部,或工具输出流入时屏幕闪烁。
  • 希望长对话中内存占用保持平稳。
  • 希望获得鼠标支持(点击展开工具结果、点击 URL、拖拽选择等)。

限制 / 坑

  • 研究预览(research preview)功能,行为可能随反馈变化,在不常见终端或异常配置上可能出现渲染问题。
  • 与 iTerm2 的 tmux 集成模式(tmux -CC)不兼容;不要在 -CC 会话中启用。
  • 鼠标捕获会使终端原生 copy-on-select 失效;OSC 52 复制路径可能被某些终端(如 iTerm2 默认)拦截。
  • tmux 不支持同步输出(synchronized output),重绘时可能比直接在终端运行更闪烁,尤其在 SSH 上。
  • JetBrains IDE 终端会忽略 CLAUDE_CODE_SCROLL_SPEED 并使用自有滚动处理;/scroll-speed 在该终端不可用。

硬事实速查(11 条)

  • 需要 Claude Code v2.1.89 或更高版本;CLAUDE_CODE_NO_FLICKER=1 仅在 v2.1.110 之前的版本上需要这样设置。
  • 界面绘制在终端的备用屏幕缓冲区(alternate screen buffer),仅渲染可见消息。
  • /tui fullscreen 启用、/tui default 关闭、/tui(无参)打印当前渲染器;设置项为 tui
  • 环境变量 CLAUDE_CODE_NO_FLICKER=1tui 设置等效。
  • CLAUDE_CODE_DISABLE_MOUSE=1 关闭鼠标捕获但保留无闪烁渲染与平稳内存。
  • CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1 强制使用经典渲染器(忽略已保存的 tui 设置)。
  • CLAUDE_CODE_SCROLL_SPEED 取值范围 1 到 20,值为 3 等同 vim 默认;持久化到 ~/.claude/settings.json
  • 选中文本在松开鼠标时自动复制;可在 /config 关闭 Copy on select,关闭后用 Ctrl+Shift+c 手动复制;kitty 协议终端(kitty、WezTerm、Ghostty、iTerm2)下 Cmd+c 也可用。
  • Ctrl+o 切换 transcript 模式,其中 [ 将对话写入终端原生回滚区,v 写入临时文件并用 $VISUAL/$EDITOR 打开。
  • 两秒内连按两次 Ctrl+L 运行 /clear;macOS 双击 Cmd+K 同效。
  • tmux 需 set -g mouse on 才能滚轮滚动;与 tmux -CC 集成模式不兼容。

官方出处:https://code.claude.com/docs/en/fullscreen