02. 日常对话与屏幕

读懂一屏

TUI 是一段可以滚动、折叠、聚焦的对话。先认清屏幕的三个部分,再去记更多按键。

焦点决定按键做什么。底部快捷键栏总会标出当前占用键盘的面板或卡片对应的按键。拿不准时往下看。

屏幕的三个部分

  1. 回看区 — 对话本身:你的提示、助手的回复、工具输出,以及思考过程。
  2. 提示框 — 回看区下方的输入框。
  3. 快捷键栏 — 一行提示条,会随焦点、正在跑的一轮,或选中的条目而变。

待办和后台任务的面板需要时才会滑进来。它们不是第四根常驻栏。

精简模式(/minimalmatcha --minimal)不一样:对话会打印进终端自己的回看。没有可交互的回看区面板,所以折叠、查找、跳转是另一套做法。

有用的一轮往往很长:一份计划、好几次工具调用、一处补丁。把噪音折起来,翻页看其余部分,输入框随时待命。

焦点

按键上下文效果
Tab焦点在提示框把焦点移到回看区。
TabSpace焦点在回看区把焦点移到提示框。vim 模式下 i 也可以。
任意字母回看区,简单模式(默认)把焦点移到提示框,并键入该字母。
Tab / Shift+Tab焦点在一张阻塞卡片上在该卡片的行之间走动。焦点留在卡片里。

有三张阻塞卡片会在等你时拿走键盘:提问卡、权限询问,以及取消轮次面板。快捷键栏会标出当前活着的那一张。Esc 会把提问卡或权限卡停到一边,好让你滚动后面的上下文;Tab 再回来。取消轮次面板上的 Esc 意思是「让一切继续跑」。

在对话里移动

除非另有说明,这些按键在回看区拥有焦点时生效。

简单(默认)Vim 模式(/vim-mode效果
/ k / j选中上一条 / 下一条。
Shift+← / Shift+→H / L跳到上一轮 / 下一轮(你的提示)。
K / J跳到上一条 / 下一条助手回复。
g / G到回看区顶部 / 底部。
PageUp / PageDown相同按页滚动。从提示框也可以,不移动焦点、不改草稿。
Ctrl+U / Ctrl+D相同半页(VS Code 系用 Shift+D 代替 Ctrl+D)。
Ctrl+K / Ctrl+J相同滚动一行,不改选中项。

折叠与展开

长工具输出和思考过程会先收起来,直到你想看。

简单Vim效果
h折叠选中的条目。
l展开选中的条目。
e切换选中条目的折叠。
E全部展开 / 全部折叠。
Ctrl+E相同展开 / 折叠全部思考块。
EnterCtrl+F相同在全屏查看器里打开选中的块。

精简模式里,已经提交的文字不能改写。/expand(或 Ctrl+E)会把上一个折叠或截断的块完整再打印到对话下方。该命令在全屏里是隐藏的;拒绝时会告诉你先按 Tab,再在该块上按

/expand

面板

按键全屏精简
Ctrl+T切换待办面板(助手正在执行的计划)。钉住 / 显示待办面板(同一组合键)。
Ctrl+G切换任务面板(后台工作)。$VISUAL / $EDITOR / vi 编辑当前草稿。不会发送。

鼠标

在完整 TUI 里,鼠标上报默认开启时:

  • 点击回看区条目以选中它。
  • 用滚轮移动回看区。
  • 点击提示区域以聚焦。

该设置开启时,用 /toggle-mouse-reporting 关掉捕获,就可以改用终端自己的拖选。