常用快捷键推荐
💡 一句话总结:记住这 15 个快捷键,日常操作效率翻倍。
📝 课程笔记
本课核心知识点整理:

学完你能做什么
- 用快捷键快速新建/切换会话
- 一键切换模型和 Agent
- 快速撤销、重做、复制消息
- 用翻页键浏览长对话
你现在的困境
- 每次新建会话都要打
/new - 切换模型要输入
/models - 想撤销操作不知道怎么做
- 长对话只能慢慢滚动
什么时候用这一招
- 当你需要:频繁在 OpenCode 中工作
- 而且不想:每次都打命令
🎒 开始前的准备
确保你已经完成以下事项:
- [ ] 完成了 2.1 界面与操作
- [ ] 能正常和 AI 对话
核心思路
Leader 键机制(重要!)
OpenCode 使用 Leader 键(默认 Ctrl+X)作为快捷键前缀,避免与终端快捷键冲突。
🤔 什么是 Leader 键?
Leader 键类似于 Vim 的 <Leader> 或游戏里的"组合键"。它不是一个功能键,而是一个前缀键。
按下 Leader 键后,OpenCode 会等待你按下一个字母,两者组合起来才是一个完整的快捷键。
操作方式(三步法):
┌─────────────────────────────────────────────────────────────┐
│ 第 1 步 第 2 步 第 3 步 │
│ 按下 Ctrl+X → 松开所有键 → 按下字母键(如 N) │
│ │
│ ⚠️ 关键:第 2 步必须松开!不是同时按住三个键! │
└─────────────────────────────────────────────────────────────┘举例说明:
| 你想做什么 | 完整操作 | 错误操作 |
|---|---|---|
| 新建会话 | 按 Ctrl+X → 松开 → 按 N | ❌ 同时按 Ctrl+X+N |
| 打开会话列表 | 按 Ctrl+X → 松开 → 按 L | ❌ 按住 Ctrl 不放按 X 再按 L |
| 切换模型 | 按 Ctrl+X → 松开 → 按 M | ❌ 按太快没松开 |
💡 练习技巧
刚开始可以刻意放慢:按 Ctrl+X 后,心里默数"1",再按字母键。熟练后自然会快起来。
本课精选标准
从 60+ 个快捷键中,按以下标准精选:
- 高频使用 - 几乎每天都会用
- 节省时间 - 比打命令快很多
- 容易记忆 - 有规律可循
精选 15 个快捷键
🔥 第一梯队:每天必用
这 8 个是最高频的,优先记住:
| 快捷键 | 功能 | 说明 |
|---|---|---|
| Enter | 发送消息 | 回车发送 |
| Shift+Enter | 换行(不发送) | 写多行提示词时用 |
| Ctrl+C | 清空输入 / 退出 | 输入框有内容时清空,没内容时退出 |
| Escape | 中断 AI 响应 | AI 在生成时按,立即停止 |
| ↑ / ↓ | 翻阅历史输入 | 输入框为空时,按上下键可找回之前发过的消息 |
| Tab | 切换 Agent | 在 Plan/Build/不同 Agent 间切换 |
| Ctrl+X → N | 新建会话 | Leader 键 + N = New |
| Ctrl+X → L | 会话列表 | Leader 键 + L = List |
💡 换行的多种方式
除了 Shift+Enter,还可以用:
- Ctrl+Enter
- Alt+Enter
- Ctrl+J
选一个顺手的记住就行。
📦 Ctrl+C 的两种行为
- 输入框有内容时:清空输入框(不退出)
- 输入框为空时:退出 OpenCode(等同于 Ctrl+D)
这和终端的行为一致,程序员会很熟悉。
⚡ 第二梯队:效率提升
这 5 个能显著提升效率:
| 快捷键 | 功能 | 记忆技巧 |
|---|---|---|
| Ctrl+X → M | 模型列表 | Model |
| F2 | 快速切换最近模型 | IDE 通用 |
| Ctrl+X → U | 撤销消息 | Undo |
| Ctrl+X → R | 重做消息 | Redo |
| Ctrl+P | 命令面板 | 同 VS Code |
🎯 第三梯队:锦上添花
这 5 个在特定场景很有用:
| 快捷键 | 功能 | 使用场景 |
|---|---|---|
| Ctrl+X → Y | 复制消息 | 复制 AI 回复 |
| Ctrl+X → C | 压缩上下文 | 对话太长时 |
| Ctrl+X → B | 切换侧边栏 | 看会话树 |
| PageUp / PageDown | 翻页浏览 | 长对话翻阅 |
| Ctrl+X → T | 主题列表 | 换个心情 |
🧑💻 程序员专属:输入框快捷键
如果你用过终端或 Emacs,这些你会很熟悉:
| 快捷键 | 功能 | Readline 风格 |
|---|---|---|
| Ctrl+A | 跳到行首 | ✅ |
| Ctrl+E | 跳到行尾 | ✅ |
| Ctrl+K | 删除光标到行尾 | ✅ |
| Ctrl+U | 删除光标到行首 | ✅ |
| Ctrl+W | 删除上一个单词 | ✅ |
| Alt+B | 后退一个单词 | ✅ |
| Alt+F | 前进一个单词 | ✅ |
📦 什么是 Readline 风格?
Readline 是 Unix/Linux 终端的标准输入库,定义了一套通用的快捷键。
几乎所有终端程序(bash、zsh、python REPL)都支持这套快捷键。如果你天天在终端工作,这些快捷键已经是肌肉记忆了。
OpenCode 完全兼容 Readline,让你在输入框里也能用熟悉的方式编辑文本。
跟我做
第 1 步:练习换行输入
为什么
写多行提示词时,你需要换行而不是发送。
- 在输入框输入
第一行 - 按 Shift+Enter
- 输入
第二行
你应该看到:输入框中有两行文字,消息没有发送
第 2 步:练习历史记录
为什么
想重新发送或修改之前的消息,不用重新打字。
- 先发送一条消息:
你好 - 等 AI 回复后,确保输入框是空的
- 按 ↑(上箭头)
你应该看到:输入框自动填入了你刚才发送的 你好
继续按 ↑ 可以翻阅更早的历史记录,按 ↓ 回到更近的。
第 3 步:练习 Ctrl+C
为什么
快速清空输入,或退出 OpenCode。
场景 A - 清空输入:
- 在输入框输入一些文字
- 按 Ctrl+C
你应该看到:输入框被清空
场景 B - 退出应用:
- 确保输入框是空的
- 按 Ctrl+C
你应该看到:OpenCode 退出
第 4 步:练习 Leader 键组合
为什么
这是 OpenCode 最核心的快捷键机制。
重要:这是两步操作,不是同时按!
- 按下 Ctrl+X
- 松开所有键(这一步很关键!)
- 按下 N
你应该看到:创建了一个新会话
再试试打开会话列表:
- 按下 Ctrl+X
- 松开
- 按下 L
你应该看到:弹出会话列表
第 5 步:练习撤销重做
为什么
AI 回复不满意时可以重来。
- 发送一条消息给 AI
- 等 AI 回复后,按 Ctrl+X → U
你应该看到:刚才的消息和回复被撤销了
再按 Ctrl+X → R 可以重做。
第 6 步:练习中断响应
为什么
AI 回复太长或方向错误时及时止损。
- 发送一个复杂问题
- 在 AI 回复过程中按 Escape
你应该看到:AI 停止生成
检查点 ✅
全部通过才能继续
- [ ] Shift+Enter 能换行而不发送
- [ ] ↑ 能翻阅历史输入(输入框为空时)
- [ ] Ctrl+C 能清空输入
- [ ] Ctrl+X → N 能新建会话(注意要松开再按 N)
- [ ] Ctrl+X → L 能打开会话列表
- [ ] Escape 能中断 AI 响应
踩坑提醒
| 现象 | 原因 | 解决 |
|---|---|---|
| Shift+Enter 不换行,直接发送 | 终端不发送修饰键 | 改用 Ctrl+J,或配置终端 |
| 按 Ctrl+X 然后按 N 没反应 | 没有松开 Ctrl+X 就按了 N | 必须先松开,再按 N |
| 按 Ctrl+X 没反应 | 终端劫持了该按键 | 检查终端设置,或换个终端 |
| 上箭头没有出现历史记录 | 输入框不是空的 | 先清空输入框(Ctrl+C),再按上箭头 |
| Tab 没有切换 Agent | 在输入状态按的 | 先按 Escape 退出输入,再按 Tab |
快捷键速记口诀
回车发送,Shift 换行
上箭头翻历史,Ctrl+C 清输入
新建 N,列表 L,模型 M 要牢记
撤销 U,重做 R,复制 Y 不费力
Escape 中断响应快
Tab 切 Agent 真方便本课小结
你学会了:
- 换行技巧:Shift+Enter 换行,Enter 发送
- 历史记录:输入框为空时,↑/↓ 翻阅历史
- Ctrl+C:清空输入(有内容)或退出(无内容)
- Leader 键机制:Ctrl+X → 松开 → 字母键
- 会话管理:N(新建)、L(列表)、U(撤销)
- 程序员福利:Readline 风格快捷键全兼容
想要更多?
下一课预告
下一课我们学习 全局提示词,让 AI 永久记住你的工作习惯。
你会学到:
- 创建规则文件,不用每次都说"用中文回复"
- 全局规则 vs 项目规则的区别
- 实用规则示例
附录:源码参考
点击展开查看源码位置
更新时间:2026-01-13
| 功能 | 文件路径 | 行号 |
|---|---|---|
| 快捷键默认值 | src/config/config.ts | 616-754 |
| 快捷键解析 | src/util/keybind.ts | 全文件 |
关键默认值(来自 config.ts):
input_submit = "return"- 发送消息(第 668 行)input_newline = "shift+return,ctrl+return,alt+return,ctrl+j"- 换行(第 669-673 行)input_clear = "ctrl+c"- 清空输入(第 666 行)app_exit = "ctrl+c,ctrl+d,<leader>q"- 退出应用(第 617 行)history_previous = "up"- 上一条历史(第 747 行)history_next = "down"- 下一条历史(第 748 行)agent_cycle = "tab"- 切换 Agent(第 663 行)leader = "ctrl+x"- Leader 键(第 616 行)session_new = "<leader>n"- 新建会话session_list = "<leader>l"- 会话列表model_list = "<leader>m"- 模型列表messages_undo = "<leader>u"- 撤销消息messages_redo = "<leader>r"- 重做消息

