OpenCode: OpenCode主题、快捷键与自定义命令
最后更新:2026-08-31
自定义主题、快捷键和命令可以显著提升 OpenCode 的使用体验和效率。
1. 你将学到
- 主题切换与自定义
- 快捷键配置
- 自定义命令
- TUI 外观调整
2. 主题
(1) 查看与切换主题
在 TUI 中:
TEXT
📖 仅展示
/themes
列出所有可用主题,选择切换。
(2) 快捷键切换
Ctrl + X → T 快速切换主题。
(3) 内置主题
| 主题 | 说明 |
|---|---|
| default | 默认主题 |
| dark | 深色主题 |
| light | 浅色主题 |
| monokai | Monokai 风格 |
| dracula | Dracula 风格 |
(4) 在配置文件中设置
JSON
{
"theme": "dracula"
}
3. 快捷键
(1) 默认快捷键
OpenCode 使用 Ctrl + X 作为前导键(Leader Key),类似 Vim 的 Leader。
| 功能 | 快捷键 |
|---|---|
| 帮助面板 | Ctrl+X → H |
| 新建会话 | Ctrl+X → N |
| 撤销 | Ctrl+X → U |
| 重做 | Ctrl+X → R |
| 模型列表 | Ctrl+X → M |
| 主题切换 | Ctrl+X → T |
| 导出对话 | Ctrl+X → X |
| 代理列表 | Ctrl+X → A |
| 初始化 AGENTS.md | Ctrl+X → I |
| 编辑器 | Ctrl+X → E |
| 压缩上下文 | Ctrl+X → C |
| 详情切换 | Ctrl+X → D |
| 退出 | Ctrl+X → Q |
(2) 自定义快捷键
在 opencode.json 中配置:
JSON
{
"keybinds": {
"agent_cycle": "tab",
"agent_cycle_reverse": "shift+tab",
"session_child_cycle": "ctrl+right",
"session_child_cycle_reverse": "ctrl+left",
"session_parent": "ctrl+up"
}
}
4. 自定义命令
OpenCode 支持在 TUI 中创建自定义命令,快速执行常用操作。
(1) 命令格式
自定义命令使用 / 前缀,在输入框中输入即可触发。
(2) 内置斜杠命令
| 命令 | 作用 |
|---|---|
/connect |
配置 API |
/compact |
压缩上下文 |
/details |
工具详情 |
/editor |
外部编辑器 |
/exit |
退出 |
/export |
导出对话 |
/help |
帮助 |
/init |
初始化 AGENTS.md |
/models |
模型列表 |
/new |
新建会话 |
/redo |
重做 |
/sessions |
会话列表 |
/share |
分享会话 |
/themes |
主题列表 |
/undo |
撤销 |
(3) TUI 核心交互语法
| 前缀 | 功能 | 示例 |
|---|---|---|
/ |
内置命令 | /models |
@ |
文件引用 | @src/index.ts |
! |
Shell 命令 | !npm test |
5. TUI 配置
JSON
{
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}
| 配置项 | 说明 | 默认值 |
|---|---|---|
scroll_speed |
滚动速度 | 3 |
scroll_acceleration.enabled |
平滑滚动 | true |
❓ 常见问题
Q 可以自定义 Leader Key 吗?
A 可以。在 opencode.json 的 keybinds 配置中修改 leader 键。但不建议修改,Ctrl+X 是社区约定。
Q 快捷键和 Vim 冲突怎么办?
A OpenCode 的快捷键只在输入框聚焦时生效,不影响 Vim 编辑器。使用 /editor 打开 Vim 时,OpenCode 快捷键不生效。
Q Alice 用 Dracula 主题,Bob 用默认主题,谁的体验更好?
A 看个人偏好。深色主题(如 Dracula)适合长时间使用,减少眼睛疲劳;浅色主题在强光环境下更清晰。选择让自己舒适的主题即可。
📖 小节
/themes切换主题,Ctrl+X → T 快速切换- Ctrl+X 是快捷键前导键
- 交互语法:
/命令、@引用、!Shell - 可在 opencode.json 中自定义快捷键和 TUI 配置
📝 作业
-
基础题:切换到 Dracula 主题,体验不同的视觉效果。
-
进阶题:熟悉所有快捷键,在不使用鼠标的情况下完成一次完整的开发任务。
-
挑战题:在 opencode.json 中自定义快捷键配置,将常用操作绑定到你习惯的键位。