是什么
fullscreen rendering 是 Claude Code 的可选渲染模式,使用终端的 alternate screen buffer(类似 vim/htop),消除闪烁、保持内存稳定、支持鼠标操作。对 VS Code 集成终端、tmux、iTerm2 等渲染吞吐量受限的终端效果最明显。
核心机制
启用方式
# 方式 A:session 内切换(保留对话上下文)
/tui fullscreen
# 方式 B:环境变量
CLAUDE_CODE_NO_FLICKER=1 claude
# 查看当前渲染器
/tui需要 Claude Code v2.1.89+。
与标准模式的差异
| 功能 | 标准模式 | 全屏模式 |
|---|---|---|
| 搜索对话 | Cmd+F 或 tmux 搜索 | Ctrl+O 进入 transcript 模式,再用 / 搜索 |
| 文本选择复制 | 终端原生拖选 | 应用内选择,松开鼠标自动复制 |
| 打开 URL | Cmd-click | 直接点击 |
| 内存使用 | 随对话增长 | 只渲染可见消息,保持恒定 |
鼠标支持
- 点击 prompt 输入框:定位光标
- 点击折叠的工具结果:展开/折叠
- 点击 URL 或文件路径:打开
- 拖选:选择文本,松开自动复制到剪贴板
- 双击:选词;三击:选行
- 滚轮:滚动对话
滚动快捷键
| 快捷键 | 动作 |
|---|---|
| PgUp / PgDn | 上下滚动半屏 |
| Ctrl+Home | 跳到对话开头 |
| Ctrl+End | 跳到最新消息 |
| Fn+↑/↓/←/→ | MacBook 键盘的 PgUp/PgDn/Home/End |
关键细节
- “全屏”指接管终端绘制表面(像 vim),与窗口最大化无关,任何窗口大小都可用
- VS Code 集成终端和 xterm.js 终端中,Cmd-click 由终端处理,不被鼠标捕获拦截
- 关闭鼠标捕获但保留无闪烁渲染:在
/config中关闭 “Copy on select” tuisetting 和CLAUDE_CODE_NO_FLICKER等效,/tui命令会清除环境变量让 setting 生效
与其他概念的关联
- terminal-config - 终端基础配置(Shift+Enter、通知等)
- keybindings - 自定义
scroll:bottom等滚动快捷键
实践要点
- VS Code 终端用户:强烈推荐启用,解决滚动跳顶和闪烁问题
- tmux 用户:全屏模式解决 tmux 内的渲染问题
- 长对话场景:全屏模式内存恒定,标准模式内存随对话增长