外观
第 2 章 · TUI 基础操作与快捷键
Prompt 决定「说什么」,本章解决「怎么操作」。键盘熟练度不是炫技,它直接决定你与 AI 的协作节奏:手不离键盘,思路就不会被找按钮打断。
本章包含 5 个知识点:
- 启动、界面布局与核心交互模型
- 输入、换行、发送与任务中的引导 / 排队
- Leader 键(Ctrl+X)与命令面板(Ctrl+P)
- 斜杠命令、Shell 模式与外部编辑器
- 标签页与会话管理
知识点 1:启动、界面布局与核心交互模型
① 定位
这是操作层的第一个知识点,解决三个问题:从哪里进入、眼睛该看哪里、手该放在哪里。 很多新手的慌乱并非来自任务难,而是不熟悉界面分区,把正常的工作状态误当成「卡死了」。
② 是什么(What)
在项目目录下运行 opencode 进入 TUI。界面从上到下可分为三个核心区域:
| 区域 | 内容 | 你需要关注什么 |
|---|---|---|
| 会话区(主区域) | 你和 AI 的对话、工具调用过程、文件改动 | AI 当前在做什么、卡在哪一步 |
| 输入区(底部 Composer) | 多行文本输入框 | 编辑你的下一条指令 |
| 状态栏 / 页脚 | 当前模型、Agent、模式提示、快捷入口 | 当前用的是哪个模型和 Agent |
默认还会开启标签页栏(每个打开的会话一个标签)和可切换的侧边栏(会话列表)。
需要认识几个界面「信号」,它们是判断状态的关键:
- AI 正在工作时,会话区会持续出现工具调用(读文件、跑命令等)的实时记录;
- 需要授权时,会弹出权限提示框——这不是错误,是正常的风险闸门;
- 输入框为空、光标停在底部,才表示「轮到你说话了」。
TUI 是键盘驱动的界面,几乎所有操作都可以不碰鼠标完成。 这不是限制,而是效率设计:终端用户的双手本就放在键盘上。
③ 怎么做(How)
- 进入项目目录:
cd ~/code/my-project - 启动:
opencode - 花 30 秒观察界面:找到会话区、输入框、状态栏,看清当前模型名
- 第一条消息永远可以是只读侦察(第 0 章已示范)
④ 为什么这么做(Why)
- 界面认知是操作速度的前提。 大脑只有先知道「信息出现在哪个固定位置」,才能不经思考地扫一眼就获取状态。不熟悉分区时,你每次都要满屏搜索,认知负荷全浪费在找东西上。
- 误判状态是新手最大的慌乱源。 AI 执行长任务时屏幕滚动很快,看起来像「失控」,其实是它在按步骤工作;权限弹窗看起来像「报错」,其实是在等你拍板。读懂信号,才不会在正常流程里频繁打断它。
- 键盘驱动遵循「手的路径最短」原则。 鼠标操作要求手离开键盘、定位、点击再回来,每次几秒;高频协作中一天可能切换上百次,累积损失可观。快捷键把动作压缩成一两次按键。
- 先观察后操作是通用安全习惯。 进任何新环境先看清楚当前模型、Agent、所在目录,再下指令,能避免「在错误的会话里说错话」这类低级事故。
⑤ 这样做的好处
- 心里有地图:界面任何变化都知道意味着什么,不慌。
- 状态判断准确:能分清「工作中 / 待授权 / 等你输入」三种状态。
- 操作速度快:双手不离键盘,思路与操作同步。
- 开局稳妥:用只读侦察建立共同理解,再派具体任务。
- 为后续快捷键学习铺路:区域概念清楚后,后面的组合键一学就会用。
⑥ 不这么做的问题 / 坏处
- 找不到信息 → 不知道当前用的哪个模型,答得差时无从判断原因。
- 误判工作状态 → AI 还在跑就重复发指令,或把授权框当错误强行退出。
- 满屏找按钮 → 用图形界面的习惯操作 TUI,处处觉得「反人类」。
- 不观察就下指令 → 在错误目录、错误 Agent 下操作,产出与预期完全不同。
⑦ 举一反三:三个例子
例 1(基础):第一次看到工具调用滚动
📌 场景:你让 AI「介绍这个项目」,屏幕开始快速滚动,出现一堆读文件的记录。
✅ 正确反应:保持不动,让它跑完。滚动记录说明它正在按步骤读取文件,这正是 Agent 的工作方式。
🔍 讲解:聊天机器人只输出一段话,Agent 的回答是「一串动作 + 最终总结」。看不懂这一点,新手最常见的错误就是在它工作时疯狂按键或强制退出,反而把正常流程打断。记住:有工具调用记录在滚动 = 它活着且在干活。
例 2(进阶):先看状态栏再派任务
📌 场景:你要让 AI 做一个复杂的架构分析,但感觉它最近回答「变笨了」。
✅ 做法:发指令前先看状态栏——确认当前模型是不是你想要的那个(复杂任务需要强模型),确认 Agent 是否正确。
🔍 讲解:模型和 Agent 是可以切换的(知识点 3、第 6 章),也可能被你之前无意中切换过。状态栏就是「起飞前的仪表盘」。不看仪表盘就起飞,遇到「回答质量突变」时你连变量都排查不到。
例 3(挑战):界面看起来「卡住」时的判断
📌 场景:AI 正在执行一个耗时命令(如安装依赖、跑构建),屏幕十几秒没有新内容。
✅ 判断流程:
- 是真卡死,还是命令本身耗时?——回想你手动跑同样的命令要多久;
- 是否在等待授权?——检查有没有未处理的权限弹窗;
- 需要干预时,按
Esc可以中断当前会话(session.interrupt)。
🔍 讲解:终端程序「屏幕不动」不等于「死机」——一个 npm install 本来就可能安静跑很久。高手先区分耗时与卡死,再决定是否中断;新手一看到静止就强杀进程,可能把装了一半的依赖、写了一半的文件留在损坏状态。Esc 中断是安全、干净的停止方式,应优先于直接关闭终端。
⑧ 练习题 ×2
练习 1(巩固型)
📝 题目:不看教程,凭记忆默写出 TUI 的三个核心区域,以及每个区域你应该关注的信息。
💡 思路提示:从上到下想——对话在哪、你打字的地方在哪、模型信息在哪。
✅ 参考答案:
text
1. 会话区(主区域):对话与工具调用过程,关注 AI 当前在做什么;
2. 输入区(底部):编辑下一条指令;
3. 状态栏 / 页脚:当前模型、Agent 与模式提示,关注用的是哪个模型。🔍 讲解:能默写出来,说明界面地图已经进入记忆。之后每次使用它都会被反复强化,最终变成扫一眼即知全局的直觉。
练习 2(迁移型)
📝 题目:迁移到你熟悉的任何软件(浏览器、IDE、游戏):「先熟悉界面分区再高效使用」这个规律是如何体现的?
💡 思路提示:想想你第一次用某软件时找不着某功能,和熟练后「眼睛不用找」的对比。
✅ 参考答案(示例):
text
以 IDE 为例:新手不知道文件树、编辑器、终端、输出面板各在哪,
每次操作都要四处寻找;熟练后形成固定的视线路径——报错看下方 Problems,
文件看左侧树,运行结果看终端,手眼配合不再需要思考。
本质相同:界面分区一旦内化为空间记忆,认知资源就全部释放给真正的任务。知识点 2:输入、换行、发送与任务中的引导 / 排队
① 定位
界面认识后,第一个高频动作就是「打字并发送」。本知识点解决四个最常用的输入操作:怎么发出去、怎么换行、AI 干活时想补充怎么办、想让它待会再做怎么办。 这四个动作覆盖了你每天 90% 的键盘交互。
② 是什么(What)
| 操作 | 默认按键 | 说明 |
|---|---|---|
| 发送 | Enter(return) | 提交当前输入 |
| 换行 | Shift+Enter / Ctrl+Enter / Ctrl+J | 在输入框内插入新行而不发送 |
| 引导(Steer) | AI 工作中按 Enter | 向正在进行的任务追加指示 |
| 排队(Queue) | AI 工作中按 Alt+Enter | 把消息存为队列,等当前任务结束后再执行 |
两个最容易混淆的点要分清:
- 换行 ≠ 发送。长 Prompt 需要分点、分段时,必须用换行组合键;直接按
Enter会立刻发出半成品。 - 引导 ≠ 排队。引导是「现在就插话影响当前任务」;排队是「等它做完再说」。一个立即介入,一个延后处理。
③ 怎么做(How)
- 写多行 Prompt:输入第一行 →
Shift+Enter→ 继续输入下一行 → 全部写完后Enter发送。 - AI 跑歪了要立刻纠正:直接在输入框打字,按
Enter,这就是引导,它会收到你的新指示并调整方向。 - 有个后续任务不想忘记、但不想打断它:打字后按
Alt+Enter排队;队列提示会显示,当前任务完成后自动处理。 - 管理队列:
Ctrl+X后按Q(<leader>q)可以查看和管理已排队的消息;在队列列表中删除某项用Ctrl+D。
④ 为什么这么做(Why)
- Enter 发送是终端界的肌肉记忆。 数十年命令行习惯让
Enter= 执行成为默认共识;TUI 沿用它,学习成本最低。多行需求则用修饰键组合区分,两者各司其职。 - 分点的 Prompt 质量更高,所以换行必须顺畅。 第 1 章反复强调复杂任务要编号、分段——如果换行操作别扭,人就会退回写一大段模糊的话,工具形态直接影响表达质量。
- 引导(Steering)是 Agent 协作的核心机制。 Agent 任务可能执行几分钟,人不能当甩手掌柜;引导让你在不丢失已有进度的前提下实时纠偏,相当于开车时微调方向盘,而不是熄火重来。
- 排队解决「打断成本」与「遗忘风险」的矛盾。 等 AI 工作时,你脑子里冒出的后续想法如果立刻说,会打断当前任务;如果硬记,又容易忘。排队让想法安全地等在原地。
- 中断、引导、排队分别对应三种不同意图。 叫停 = Esc,微调 = Enter,延后 = Alt+Enter,概念清晰才不会用错工具。
⑤ 这样做的好处
- 表达从容:长 Prompt 可以精心排版再发出,不会误发。
- 实时可控:发现跑偏立刻引导,不必等它错完再返工。
- 不丢想法:后续任务排队等待,脑子里可以清空。
- 协作节奏顺畅:当前任务不被频繁打断,完成后无缝衔接下一个。
- 减少废操作:意图与按键对应,不会「想排队却打断了它」。
⑥ 不这么做的问题 / 坏处
- 不会换行 → Prompt 挤成一段,编号列表全毁,AI 抓不住结构;或频繁误发半成品,对话里充满垃圾消息。
- 该引导时硬等 → 眼睁睁看它按错误方向做十分钟,错完再整体返工,浪费双份时间。
- 该排队时直接插话 → 频繁打断当前任务,AI 注意力反复切换,哪件都做不深。
- 靠脑子记后续任务 → 十有八九忘记,好想法白白流失。
⑦ 举一反三:三个例子
例 1(基础):排版一条编号任务
📌 场景:你要发给 AI 一条含 4 个要点的任务。
✅ 操作:输入「请处理以下问题:」→ Shift+Enter → 输入「1. ……」→ Shift+Enter → 依次输完 4 条 → Enter 发送。
🔍 讲解:排版整齐的编号列表让模型能逐条响应、逐条核对。换行键用熟之后,这只是几秒钟的事;但很多人因为不习惯组合键,长期把多要点挤成一段,AI 漏答其中一两条也难以发现。
例 2(进阶):实时引导纠正跑偏
📌 场景:AI 正在重构,但你发现它开始改动一个你明确说过不要碰的配置文件。
✅ 做法:立刻在输入框输入:「停下,不要动那个配置文件,回到 src 下的业务代码继续。」按 Enter 引导。
🔍 讲解:这是引导(Steering)最典型的使用时机——错误正在发生、每多一秒都在扩大。此时不需要等、不需要中断重来,一条引导即可把它拉回正轨。如果等它全部做完再指出,配置文件可能已经被改并产生连锁影响。
例 3(挑战):边看它工作边规划后续,用队列接住想法
📌 场景:AI 在实现功能 A,你看着它的过程,连续想到:「做完 A 要补测试」「还要更新文档」「另外那个老 bug 也顺便提一下」。
✅ 做法:前两件与当前任务相关的事,按 Alt+Enter 逐条排队;最后那个不相关的老 bug 不要排队污染当前会话,记到别处、另开会话处理。
🔍 讲解:高手不仅会用队列,还知道队列里该放什么。排队的消息会紧接当前任务执行,天然继承当前上下文——放相关后续任务很合适,放无关任务则会把上下文搅乱。队列不是垃圾桶,是「同语境后续任务」的暂存区。
⑧ 练习题 ×2
练习 1(巩固型)
📝 题目:填空:发送用 ____;输入框内换行用 ____;AI 工作中立即纠偏用 ____;让消息等当前任务结束后再执行用 ____;彻底中断用 ____。
💡 思路提示:回到本知识点的按键表。
✅ 参考答案:
text
发送:Enter;换行:Shift+Enter(或 Ctrl+Enter / Ctrl+J);
立即纠偏(引导):Enter;延后执行(排队):Alt+Enter;
彻底中断:Esc。🔍 讲解:这五个键是 TUI 操作的「母键」,建议在真实使用中刻意练上十几次,形成肌肉记忆后终身受用。
练习 2(迁移型)
📝 题目:迁移到日常沟通:「立即插话」和「先记下来待会说」分别适用于什么场合?请各举一个工作或生活中的例子。
💡 思路提示:判断标准是「信息是否紧急、插话是否会破坏当前流程」。
✅ 参考答案(示例):
text
立即插话:会议中对方正要基于错误数据做决定——必须马上纠正,
晚了决定就成形了(对应「引导」)。
先记下来待会说:同事正在专注汇报,你想到一个与当前议题无关、
但以后要讨论的点——先记下,会后再提,避免打断节奏(对应「排队」)。
共性原则:紧急且影响当下 → 立即介入;不紧急或无关 → 延后处理。知识点 3:Leader 键(Ctrl+X)与命令面板(Ctrl+P)
① 定位
单键数量有限,复杂操作需要「组合键」。本知识点讲 TUI 的两大操作中枢:Leader 键(快捷键组合的前缀)和命令面板(所有操作的可搜索清单)。记住这两个入口,你就不需要死记每个功能的快捷键——忘了随时能查。
② 是什么(What)
Leader 键(前缀键) 默认是 Ctrl+X。它本身不执行动作,而是告诉 TUI:「我接下来要按的键是一个组合命令的第二下。」例如:
| 组合 | 动作 |
|---|---|
Ctrl+X → M | 打开模型列表 |
Ctrl+X → A | 打开 Agent 列表 |
Ctrl+X → N | 新建会话 |
Ctrl+X → Q | 退出程序 / 管理队列(视界面状态) |
按下 Leader 键后,界面通常会弹出按键提示(Which-Key 风格),列出第二下可以按什么——所以你不需要全背下来。
命令面板 默认 Ctrl+P,列出当前界面下所有可执行操作,可以输入关键词模糊搜索、回车执行。它是快捷键的「安全网」:记不住组合键时,搜一下即可。
③ 怎么做(How)
- 执行组合操作:先按
Ctrl+X,看清弹出的提示,再按对应字母。 - 忘记快捷键:按
Ctrl+P打开命令面板,输入动作关键词(如 model、session、theme),选中后回车。 - 自定义 Leader 键:在
~/.config/opencode/cli.json中设置keybinds.leader,如改为ctrl+space;还可用leader.timeout设置等待第二键的超时毫秒数。
④ 为什么这么做(Why)
- 组合前缀解决「键位不够」问题。 键盘上随手可按的单键只有几十个,而 TUI 有上百个操作。Leader 前缀用「先按前缀、再按命令键」的方式,让有限按键承载大量操作,且组合键通常好记(M = Model、N = New、A = Agent)。
- 提示面板让「记忆负担」外置。 按下 Leader 后直接看到可选项,你只需「识别」而非「回忆」——这符合认知科学中识别比回忆省力的规律,学习曲线因此平缓。
- 命令面板是终极兜底。 任何功能只要存在,就一定能在面板里搜到。它保证你永远不会因为忘记快捷键而无法完成操作,这对新手尤其重要。
- 可定制性尊重个人手型与习惯。 不同人用不同键盘、终端(某些组合键会被终端或系统占用),自定义 Leader 键可以避开冲突,让快捷键为你服务而不是相反。
⑤ 这样做的好处
- 操作不靠死记:Leader 提示 + 命令面板,随时可查。
- 上手快:记住
Ctrl+X和Ctrl+P两个入口,就能找到几乎所有功能。 - 扩展性强:功能再多也不乱,组合体系可以无限增长。
- 个性化适配:键位冲突、手型偏好都能解决。
- 逐步精进:初期靠面板搜索,高频动作自然记住后用组合键加速。
⑥ 不这么做的问题 / 坏处
- 硬背所有快捷键 → 记不住、易混淆,挫败感强,很多人因此放弃 TUI。
- 不知道命令面板 → 记不住某功能就以为「不支持」,能力被记忆卡死。
- 不会用前缀 → 两个键分开快速按变成「先按出奇怪状态再乱按」,以为键盘失灵。
- Leader 键与终端冲突不处理 → 某些终端里
Ctrl+X可能被占用,不自定义就会时灵时不灵。
⑦ 举一反三:三个例子
例 1(基础):切换模型
📌 场景:任务变难,你想从当前模型切到更强的模型。
✅ 操作:Ctrl+X → 看提示 → 按 M → 在模型列表中选择。也可直接 Ctrl+P 搜「model」。
🔍 讲解:M = Model 是最好记的组合之一。如果一时想不起,命令面板永远兜底——两个入口解决同一个需求,这就是双保险设计。
例 2(进阶):发现一个从不知道的功能
📌 场景:你打开命令面板随便浏览,发现 TUI 还支持会话时间线(Timeline)、主题切换等你没读过文档的功能。
✅ 做法:在面板中选中该操作直接试用;或记住其组合键(如时间线是 Ctrl+X → G)。
🔍 讲解:命令面板不仅是「查找已知功能」的地方,也是发现未知功能的地图。定期翻一翻面板,是低成本了解工具全貌的好方法,比通读文档轻松得多。
例 3(挑战):终端占用了 Ctrl+X,自定义前缀
📌 场景:你的终端模拟器或 tmux 把 Ctrl+X 用作其它用途,组合键经常冲突。
✅ 配置(~/.config/opencode/cli.json):
json
{
"keybinds": {
"leader": "ctrl+space"
},
"leader": {
"timeout": 2000
}
}🔍 讲解:把 Leader 改为不冲突的键,并把超时放宽到 2 秒,组合操作立刻稳定。遇到快捷键问题,正确思路是「查冲突 → 改配置」,而不是忍耐或放弃。配置方法和字段名以官方 Keybinds 文档为准。
⑧ 练习题 ×2
练习 1(巩固型)
📝 题目:不查表,说出完成下列动作的至少一种方式:(a)切换 Agent;(b)新建会话;(c)执行一个你完全不知道快捷键的功能。
💡 思路提示:Leader 组合的字母通常是动作首字母;想不起就用命令面板。
✅ 参考答案:
text
(a) Ctrl+X → A(A = Agent);
(b) Ctrl+X → N(N = New);
(c) Ctrl+P 打开命令面板,输入关键词搜索后回车执行。🔍 讲解:这三题验证你是否掌握了「组合前缀 + 面板兜底」的核心思路。思路比具体键位更重要——键位可以改,思路通用。
练习 2(迁移型)
📝 题目:迁移到你常用的软件:哪些软件也采用「前缀键 / 命令面板」的设计?这种设计为什么在专业工具中反复出现?
💡 思路提示:想想编辑器的模态操作、各类工具的「搜索所有命令」框。
✅ 参考答案(示例):
text
- Vim/Neovim 的 Leader 键:先按前缀再触发命令,用有限按键承载大量操作;
- VS Code 的 Ctrl+Shift+P 命令面板:搜索并执行任何命令,无需记忆快捷键;
- JetBrains IDE 的 Find Action(Ctrl+Ctrl/A):同样的「搜命令」思路。
共性:专业工具功能数量远超按键数量,前缀组合扩展容量,
命令面板把记忆变成搜索,二者结合让工具「易学且强大」。知识点 4:斜杠命令、Shell 模式与外部编辑器
① 定位
输入框不只能打字,它还能识别特殊前缀符号。本知识点讲三个前缀入口:/(斜杠命令)、!(Shell 模式),以及用外部编辑器写长 Prompt。它们分别解决「快速调用内置功能」「在会话里跑系统命令」「长文本输入」三类需求。
② 是什么(What)
| 前缀 / 入口 | 作用 | 例子 |
|---|---|---|
/ | 列出并执行斜杠命令 | /new、/models、/sessions、/undo、/redo、/agents、/editor |
! | 进入 Shell 模式,直接运行系统命令 | !git status |
| 外部编辑器 | 在你熟悉的编辑器里编写当前 Prompt | Ctrl+X → E,或 /editor |
要点说明:
- 斜杠命令:输入
/即出现命令列表,继续打字可过滤,回车执行。常见命令:/new(新会话)、/sessions(会话列表)、/models(模型)、/agents(Agent)、/undo//redo`(撤销 / 重做消息)。 - Shell 模式:在空输入框以
!开头进入;输入命令回车执行,按Esc不执行直接退出。命令在会话工作目录下运行,输出保留在会话中,模型也能看到。 - 外部编辑器:先设置
VISUAL或EDITOR环境变量(如export EDITOR="nvim");在编辑器里写完保存退出,文本自动带回输入框,再按Enter发送。
③ 怎么做(How)
- 快速新建会话:输入
/new回车。 - 查看改动文件:输入
!git status回车——输出进入会话,可直接接着讨论。 - 写超长 / 复杂 Prompt:
Ctrl+X→E打开 nvim/vim,从容编辑、粘贴大段内容,保存退出后检查并发送。
④ 为什么这么做(Why)
- 斜杠命令提供「高频动作的最短路径」。 新建会话、切换模型这类动作通过菜单需要好几步,输入
/new只需几个字符。前缀/在聊天类工具中已是通用约定,学习成本极低。 - Shell 模式打通了「AI 会话」与「系统操作」。 排查问题时你经常需要
git status、ls、cat的输出。让命令在会话内执行,输出自动成为上下文——不用在另一个终端跑完再手工粘贴。 - 外部编辑器发挥「专业工具做专业事」的优势。 nvim/vim 擅长处理大段文本:跳转、替换、宏、分屏都比 TUI 内置输入框强大。写复杂 Prompt、粘贴大段资料时,外部编辑器体验碾压单行输入框。
/btw保护会话纯度。 有些问题你只是想确认一下(「第 2 步那个测试为什么失败?」),答案并不需要进入正式对话;若直接提问,对话里会混入旁支内容,日后压缩、回顾都受干扰。- 多入口对应不同场景:轻量动作用
/,系统命令用!,长文本用外部编辑器——工具分层,各取最短路径。
⑤ 这样做的好处
- 高频动作极快:几个字符直达目标。
- 上下文自动汇集:Shell 输出直接进会话,讨论无缝衔接。
- 长文本编辑舒适:用最顺手的编辑器写 Prompt,质量更高。
- 旁支问题不污染主线:会话保持干净。
- 双手路径最短:按任务轻重选择入口,效率最大化。
⑥ 不这么做的问题 / 坏处
- 只用菜单操作 → 高频动作也要翻好几层,节奏拖沓。
- 另开终端跑命令再粘贴 → 来回切换,输出格式还可能被终端破坏。
- 在内置框里硬写长 Prompt → 编辑能力弱,改一段长文极其痛苦,容易放弃打磨。
- 旁支问题直接发 → 会话混入大量临时问答,主线被稀释。
⑦ 举一反三:三个例子
例 1(基础):用 Shell 模式查看改动
📌 场景:你想知道 AI 刚才改了哪些文件,再决定下一步。
✅ 操作:在空输入框输入 !git status 回车。输出出现在会话中,你接着说:「把其中 untracked 的临时文件清理建议列给我,先不要删。」
🔍 讲解:! 让系统命令的输出直接成为对话上下文——AI 立刻能看到文件清单并据此回应。如果另开终端跑、再口头描述,既慢又容易漏信息。
例 2(进阶):用外部编辑器打磨一份复杂 Prompt
📌 场景:你要给 AI 一份包含大段配置和多条要求的任务,内置输入框改起来很痛苦。
✅ 操作:export EDITOR="nvim"(写进 shell 配置则长期有效)→ Ctrl+X → E → 在 nvim 里粘贴、分段、反复修改 → :wq 保存退出 → 检查带回的文本 → Enter 发送。
🔍 讲解:外部编辑器把「写 Prompt」变成一次正式的文本编辑工作。复杂任务值得这份郑重——输入工具的上限,会悄悄决定你 Prompt 的上限。用顺手的编辑器,你才愿意反复打磨。
例 3(挑战):用 /btw 验证一个临时疑问
📌 场景:AI 完成了多步任务,你隐约记得第 3 步用了一个你不认识的参数,但只是想搞懂,不想让这个问题混入正式对话。
✅ 操作:输入 /btw 第 3 步命令里的 --frozen-lockfile 参数是做什么的?为什么这里要用? 回车。在弹窗中阅读答案,需要保留就按 C 复制。
🔍 讲解:/btw(by the way)的答案基于当前上下文、用当前模型,却不进入会话记录——主线保持干净,日后压缩和回顾都不被临时问答干扰。这是高手管理会话纯度的小工具:临时求知走旁路,正式指令走主线。
⑧ 练习题 ×2
练习 1(巩固型)
📝 题目:为下列需求各选最合适的入口:(a)切换模型;(b)看当前目录文件列表并让 AI 分析;(c)临时问个概念但不写入对话;(d)写一份含十多个要点的长 Prompt。
💡 思路提示:回到 /、!、/btw、外部编辑器四个入口。
✅ 参考答案:
text
(a) /models(或 Ctrl+X → M);
(b) Shell 模式 !ls(或 !ls -la),输出自动进入会话;
(c) /btw <问题>,答案不写入对话;
(d) Ctrl+X → E 用外部编辑器编辑,保存退出后发送。🔍 讲解:选对入口的标准是「哪条路径最短、副作用最合适」。这类选择会在使用中变成本能。
练习 2(迁移型)
📝 题目:迁移到你熟悉的软件或操作系统:「不同前缀 / 模式进入不同操作环境」这种设计还出现在哪里?各有什么好处?
💡 思路提示:模态编辑器、手机长按、命令行的特殊提示符都可以。
✅ 参考答案(示例):
text
- Vim 的插入 / 普通 / 命令模式:同一个键在不同模式下含义不同,
用模式切换换取极少按键完成大量操作;
- 浏览器地址栏输入不同前缀(搜索词 vs 网址 vs 特殊命令)走不同处理;
- 聊天工具中以 / 开头触发命令(如 /me)已是行业通用约定。
共性:用「显式前缀 / 模式切换」告诉系统「接下来的输入属于哪个环境」,
避免功能互相打架,同时让每种环境内的操作路径最短。知识点 5:标签页与会话管理
① 定位
本章收口知识点:TUI 的多任务能力。你可以同时开多个会话(标签页),在它们之间快速切换、关闭、重开。用好标签页,等于在一个终端窗口里拥有一整排「并行进行的工作桌面」。
② 是什么(What)
- 标签页(Tabs):默认开启,每个打开的会话在顶部占一个标签。
- 会话(Session):一个独立的上下文空间,对话、文件引用、工具结果彼此隔离。
- 历史会话:关闭标签不等于删除会话;历史会话可以随时找回。
核心操作表:
| 操作 | 默认按键 |
|---|---|
| 下一标签 | Ctrl+Tab(或 Alt+↓) |
| 上一标签 | Ctrl+Shift+Tab(或 Alt+↑) |
| 关闭当前标签 | Ctrl+X → W |
| 重开刚关闭的标签 | Ctrl+Shift+T |
| 按编号直达标签 | Ctrl+X → 1…9(也可 Ctrl+1 等) |
| 新建会话 | Ctrl+X → N,或 /new |
| 会话列表 | Ctrl+X → L,或 /sessions |
| 最近会话 + 项目总览 | Ctrl+O |
| 重命名 / 删除会话 | Ctrl+R / Ctrl+D(会话列表中) |
③ 怎么做(How)
- 并行做两件事:当前会话跑长任务时,
Ctrl+X→N开新会话处理另一件事,再用Ctrl+Tab切回查看。 - 快速跳回某任务:记住标签位置,用
Ctrl+X→ 数字直达。 - 找回历史会话:
Ctrl+O或/sessions,按项目和时间浏览;重要会话可用Ctrl+R改名便于日后识别。 - 误关标签:
Ctrl+Shift+T立刻重开。
④ 为什么这么做(Why)
- 上下文隔离是会话系统的核心价值。 不同任务的背景、假设互不干扰:修支付 bug 的会话不会被写文档的会话带偏。标签页让多个隔离空间同时在手,又不用开多个终端窗口。
- 长任务不必阻塞工作。 AI 跑测试、构建可能耗时几分钟;开新标签处理别的事,时间利用率成倍提高——这与浏览器多标签页的价值完全相同。
- 编号直达依赖「空间位置记忆」。 标签顺序固定后,你会像盲打一样记住「第 2 个是支付任务」,一个组合键直达,比从列表里找快得多。
- 会话持久化让工作可以跨时间续接。 今天查不完的问题,明天通过会话列表回到原上下文继续;关闭标签只是收起,不是丢失。
- 及时关闭是管理注意力。 标签过多时,视觉噪音上升、编号记忆失效;保持少量活跃标签,切换才真正快速。
⑤ 这样做的好处
- 多任务并行不乱:每个会话上下文纯净。
- 等待时间被利用:长任务在后台标签跑,人继续干别的。
- 切换飞快:Ctrl+Tab 轮转或编号直达。
- 工作可跨日续接:历史会话随时找回。
- 误操作可补救:误关标签一键重开。
⑥ 不这么做的问题 / 坏处
- 一个会话做所有事 → 上下文混杂、AI 引用错误前提,回到第 0 章警告的状态。
- 长任务时干等 → 大量时间白白浪费在盯着屏幕上。
- 开十几个标签不关 → 标签栏失去导航价值,编号记忆全部失效,比没有标签更乱。
- 不命名会话 → 历史列表里全是难以区分的内容,找回旧任务时逐个翻找。
⑦ 举一反三:三个例子
例 1(基础):长任务期间不空等
📌 场景:你让 AI 跑一轮耗时较长的全量测试。
✅ 操作:Ctrl+X → N 开新会话处理代码阅读;测试跑完后用 Ctrl+Tab 切回查看结果。
🔍 讲解:这是标签页最直接的价值——把等待时间变成工作时间。只要记住长任务在哪个标签,切回只是一键。
例 2(进阶):按项目节奏管理标签
📌 场景:你一天内要处理 3 个不相关的需求。
✅ 做法:每个需求一个会话标签,并在会话列表中用 Ctrl+R 改名(如「订单超时排查」「导出功能」「登录重构」);完成一个就 Ctrl+X → W 关闭。
🔍 讲解:命名让标签和历史会话都可识别;随做随关则保证标签栏始终只反映「当前真正在做的事」。这两个习惯组合,让多任务并行始终有序。
例 3(挑战):跨天续接一个复杂排查
📌 场景:一个复杂 bug 今晚没查完,你想明天接着来,甚至可能换一台机器。
✅ 做法:确保会话有清晰名字;第二天用 Ctrl+O(最近会话 + 项目总览)或 /sessions 找到它,原上下文完整保留,直接继续。
🔍 讲解:会话是持久化存储的工作现场,而不是一次性聊天记录。理解这一点,你才会放心地把未完成的推理过程「挂起」,而不是被迫一鼓作气熬夜做完。跨会话续接能力是 Agent 工具相对一次性问答的重要优势。
⑧ 练习题 ×2
练习 1(巩固型)
📝 题目:写出下列动作的按键:下一标签、关闭标签、重开误关标签、新建会话、按编号直达第 3 个标签、找回历史会话。
💡 思路提示:标签操作大多在 Leader 前缀下,切换与浏览器习惯一致。
✅ 参考答案:
text
下一标签:Ctrl+Tab(或 Alt+↓);
关闭标签:Ctrl+X → W;
重开误关标签:Ctrl+Shift+T;
新建会话:Ctrl+X → N(或 /new);
直达第 3 个标签:Ctrl+X → 3(或 Ctrl+3);
找回历史会话:Ctrl+O 或 /sessions(Ctrl+X → L)。🔍 讲解:这组键是多任务操作的核心,建议一次开 3~4 个真实会话反复练切换与关闭,十次即可形成肌肉记忆。
练习 2(迁移型)
📝 题目:迁移到浏览器、操作系统或项目管理工具:「任务分区 + 可随时切换 + 完成即清理」的模式如何体现?为什么这套模式在任何多任务场景都有效?
💡 思路提示:想想浏览器标签、虚拟桌面、看板(Kanban)的 WIP 限制。
✅ 参考答案(示例):
text
- 浏览器标签:不同任务开不同标签,切换快;标签过多反而找不到东西,
做完关掉是普遍共识。
- 虚拟桌面 / 工作区:把不同项目放到不同桌面,视觉上下文互不干扰。
- 看板 WIP 限制:限制「进行中」任务数量,并行太多每件都变慢,
完成一项再拉入下一项。
共性原理:人的注意力无法真正并行,「分区隔离 + 少量活跃 + 完成清理」
既利用了等待时间,又控制了切换成本,因此在所有多任务场景普遍有效。🔍 讲解:标签页管理的底层不是 TUI 知识,而是注意力管理。理解到这一层,你管理 AI 会话标签的方法,和管理自己工作任务的方法会自然统一。
本章小结
| 知识点 | 一句话核心 |
|---|---|
| 1. 界面布局 | 会话区 / 输入区 / 状态栏;读懂工作、授权、等待三种信号 |
| 2. 输入与引导 | Enter 发送,组合键换行;跑偏用引导,后续用排队 |
| 3. Leader 与面板 | Ctrl+X 走组合,Ctrl+P 搜一切;记不住随时能查 |
| 4. 斜杠 / Shell / 编辑器 | / 调命令,! 跑系统命令,外部编辑器写长 Prompt |
| 5. 标签页与会话 | 多会话并行隔离,编号直达,完成即关,跨天可续接 |
键盘操作到此覆盖了日常所需的绝大部分。下一章《上下文管理》将回到内容层面:如何系统地给 AI 提供、组织和清理上下文——包括 @ 附件、会话压缩(Compaction)等机制。