Skip to content

Open Code

OpenCode 的回复比较长时,内容会超出当前屏幕。此时如果直接用鼠标滚轮向上滚,看到的可能是启动 OpenCode 命令之前的终端输出,而不是当前会话里的回复。

原因是:鼠标滚轮操作的是终端的 scrollback 缓冲区,OpenCode 自己的会话消息区有独立的滚动状态。

OpenCode 消息区翻页

先让 OpenCode 窗口保持焦点,然后使用下面的快捷键:

操作快捷键
向上翻一页PageUp
向下翻一页PageDown
向上滚半页Ctrl+Alt+U
向下滚半页Ctrl+Alt+D
跳到消息开头Ctrl+GHome
跳到消息末尾Ctrl+Alt+GEnd

在 Mac 笔记本上,如果键盘没有独立的 PageUpPageDown,通常可以使用 Fn+↑Fn+↓

鼠标滚轮为什么会滚错位置

可以把终端和 OpenCode 理解成两层:

text
终端窗口
└── OpenCode 会话消息区

OpenCode 正在运行时,消息区的滚动由 OpenCode 处理;当终端接收到普通的滚轮事件时,它可能退回到终端自己的历史输出。因此滚轮向上不一定等于“查看上一页 AI 回复”。

如果发现滚轮已经滚到了启动命令附近,直接按 PageUp,或者使用 Ctrl+Alt+U,就能回到 OpenCode 当前消息区继续查看。

本机默认绑定

本机安装的 OpenCode 1.18.16 默认绑定如下:

text
messages_page_up    PageUp / Ctrl+Alt+B
messages_page_down  PageDown / Ctrl+Alt+F

如果终端或键盘布局拦截了 PageUp,可以改用 Ctrl+Alt+B 向上翻页、Ctrl+Alt+F 向下翻页。

总结

查看长回复时,优先使用 OpenCode 的消息区快捷键:PageUp 翻页、Ctrl+Alt+U 半页滚动;不要依赖鼠标滚轮在终端历史中寻找当前回复。

技术笔记