Skip to content

常用快捷键推荐

💡 一句话总结:记住这 15 个快捷键,日常操作效率翻倍。

📝 课程笔记

本课核心知识点整理:

常用快捷键推荐学霸笔记


学完你能做什么

  • 用快捷键快速新建/切换会话
  • 一键切换模型和 Agent
  • 快速撤销、重做、复制消息
  • 用翻页键浏览长对话

你现在的困境

  • 每次新建会话都要打 /new
  • 切换模型要输入 /models
  • 想撤销操作不知道怎么做
  • 长对话只能慢慢滚动

什么时候用这一招

  • 当你需要:频繁在 OpenCode 中工作
  • 而且不想:每次都打命令

🎒 开始前的准备

确保你已经完成以下事项:


核心思路

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+ 个快捷键中,按以下标准精选:

  1. 高频使用 - 几乎每天都会用
  2. 节省时间 - 比打命令快很多
  3. 容易记忆 - 有规律可循

精选 15 个快捷键

🔥 第一梯队:每天必用

这 8 个是最高频的,优先记住:

快捷键功能说明
Enter发送消息回车发送
Shift+Enter换行(不发送)写多行提示词时用
Ctrl+C清空输入 / 退出输入框有内容时清空,没内容时退出
Escape中断 AI 响应AI 在生成时按,立即停止
/ 翻阅历史输入输入框为空时,按上下键可找回之前发过的消息
Tab切换 Agent在 Plan/Build/不同 Agent 间切换
Ctrl+XN新建会话Leader 键 + N = New
Ctrl+XL会话列表Leader 键 + L = List

💡 换行的多种方式

除了 Shift+Enter,还可以用:

  • Ctrl+Enter
  • Alt+Enter
  • Ctrl+J

选一个顺手的记住就行。

📦 Ctrl+C 的两种行为
  • 输入框有内容时:清空输入框(不退出)
  • 输入框为空时:退出 OpenCode(等同于 Ctrl+D)

这和终端的行为一致,程序员会很熟悉。

⚡ 第二梯队:效率提升

这 5 个能显著提升效率:

快捷键功能记忆技巧
Ctrl+XM模型列表Model
F2快速切换最近模型IDE 通用
Ctrl+XU撤销消息Undo
Ctrl+XR重做消息Redo
Ctrl+P命令面板同 VS Code

🎯 第三梯队:锦上添花

这 5 个在特定场景很有用:

快捷键功能使用场景
Ctrl+XY复制消息复制 AI 回复
Ctrl+XC压缩上下文对话太长时
Ctrl+XB切换侧边栏看会话树
PageUp / PageDown翻页浏览长对话翻阅
Ctrl+XT主题列表换个心情

🧑‍💻 程序员专属:输入框快捷键

如果你用过终端或 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 步:练习换行输入

为什么
写多行提示词时,你需要换行而不是发送。

  1. 在输入框输入 第一行
  2. Shift+Enter
  3. 输入 第二行

你应该看到:输入框中有两行文字,消息没有发送

⚠️ 常见问题

如果按 Shift+Enter 不换行,直接发送了消息,说明你的终端不支持修饰键。解决方案:

第 2 步:练习历史记录

为什么
想重新发送或修改之前的消息,不用重新打字。

  1. 先发送一条消息:你好
  2. 等 AI 回复后,确保输入框是空的
  3. (上箭头)

你应该看到:输入框自动填入了你刚才发送的 你好

继续按 可以翻阅更早的历史记录,按 回到更近的。

第 3 步:练习 Ctrl+C

为什么
快速清空输入,或退出 OpenCode。

场景 A - 清空输入

  1. 在输入框输入一些文字
  2. Ctrl+C

你应该看到:输入框被清空

场景 B - 退出应用

  1. 确保输入框是空的
  2. Ctrl+C

你应该看到:OpenCode 退出

第 4 步:练习 Leader 键组合

为什么
这是 OpenCode 最核心的快捷键机制。

重要:这是两步操作,不是同时按!

  1. 按下 Ctrl+X
  2. 松开所有键(这一步很关键!)
  3. 按下 N

你应该看到:创建了一个新会话

再试试打开会话列表:

  1. 按下 Ctrl+X
  2. 松开
  3. 按下 L

你应该看到:弹出会话列表

第 5 步:练习撤销重做

为什么
AI 回复不满意时可以重来。

  1. 发送一条消息给 AI
  2. 等 AI 回复后,按 Ctrl+XU

你应该看到:刚才的消息和回复被撤销了

再按 Ctrl+XR 可以重做。

第 6 步:练习中断响应

为什么
AI 回复太长或方向错误时及时止损。

  1. 发送一个复杂问题
  2. 在 AI 回复过程中按 Escape

你应该看到:AI 停止生成


检查点 ✅

全部通过才能继续

  • [ ] Shift+Enter 能换行而不发送
  • [ ] 能翻阅历史输入(输入框为空时)
  • [ ] Ctrl+C 能清空输入
  • [ ] Ctrl+XN 能新建会话(注意要松开再按 N)
  • [ ] Ctrl+XL 能打开会话列表
  • [ ] 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 真方便

本课小结

你学会了:

  1. 换行技巧Shift+Enter 换行,Enter 发送
  2. 历史记录:输入框为空时,/ 翻阅历史
  3. Ctrl+C:清空输入(有内容)或退出(无内容)
  4. Leader 键机制Ctrl+X → 松开 → 字母键
  5. 会话管理:N(新建)、L(列表)、U(撤销)
  6. 程序员福利:Readline 风格快捷键全兼容

想要更多?


下一课预告

下一课我们学习 全局提示词,让 AI 永久记住你的工作习惯。

你会学到:

  • 创建规则文件,不用每次都说"用中文回复"
  • 全局规则 vs 项目规则的区别
  • 实用规则示例

附录:源码参考

点击展开查看源码位置

更新时间:2026-01-13

功能文件路径行号
快捷键默认值src/config/config.ts616-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" - 重做消息
本站教程完全免费,广告收入用于覆盖服务器成本。感谢您的支持!