交互模式
CodeBuddy Code 交互式会话中的完整键盘快捷键、输入模式和交互功能参考。
键盘快捷键
NOTE
键盘快捷键可能因平台和终端而异。在交互式会话中输入问号 `?` 可查看您环境中可用的快捷键。通用控制
| 快捷键 | 描述 | 上下文 | CodeBuddy 支持 |
|---|---|---|---|
Ctrl+C | 取消当前输入或生成 | 标准中断 | ✅ 支持 |
Ctrl+D | 退出 CodeBuddy Code 会话 | EOF 信号 | ✅ 支持 |
Ctrl+L | 清除终端屏幕 | 保留对话历史 | ✅ 支持 |
Ctrl+O | 切换详细输出 | 显示详细的工具使用和执行信息 | ✅ 支持 |
Ctrl+R | 反向搜索命令历史 | 交互式搜索之前的命令 | ✅ 支持 |
Ctrl+V (macOS/Linux) 或 Alt+V (Windows) | 从剪贴板粘贴图片 | 粘贴图片或图片文件路径 | ✅ 支持 |
Up/Down 方向键 | 导航命令历史 | 调用之前的输入 | ✅ 支持 |
Esc + Esc | 回退代码/对话 | 将代码和/或对话恢复到之前的状态 (需在输入框为空时连续按两次) | ✅ 支持 |
Tab | 切换思考模式 | 在思考开启和思考关闭之间切换 | ✅ 支持 |
Shift+Tab 或 Alt+M (部分配置) | 切换权限模式 | 在自动接受模式、计划模式和普通模式之间切换 | ✅ 支持 |
说明:
Esc+Esc回退功能已支持:当输入框内容为空时,连续按两次 ESC 键可激活/rewind功能,快速回退代码或对话到之前的状态Tab键在 CodeBuddy Code 中主要用于自动补全,扩展思考模式的切换功能部分支持Shift+Tab和Alt+M(Windows) 用于切换权限模式,包括普通模式、自动接受编辑模式、跳过权限模式和计划模式
多行输入
| 方法 | 快捷键 | 上下文 | CodeBuddy 支持 |
|---|---|---|---|
| 快速转义 | \ + Enter | 在所有终端中工作 | ✅ 支持 |
| macOS 默认 | Option+Enter | macOS 上的默认设置 | ✅ 支持 |
| 终端设置 | Shift+Enter | 执行 /terminal-setup 后 | ✅ 支持 |
| 控制序列 | Ctrl+J | 多行的换行字符 | ✅ 支持 |
| 粘贴模式 | 直接粘贴 | 用于代码块、日志 | ✅ 支持 |
TIP
在终端设置中配置您首选的换行行为。运行 `/terminal-setup` 为 iTerm2 和 VS Code 终端安装 Shift+Enter 绑定。快速命令
| 快捷键 | 描述 | 注释 | CodeBuddy 支持 |
|---|---|---|---|
# 在开头 | 记忆快捷方式 - 添加到 CODEBUDDY.md | 提示选择文件 | ✅ 支持 |
/ 在开头 | 斜杠命令 | 参见 斜杠命令 | ✅ 支持 |
! 在开头 | Bash 模式 | 直接运行命令并将执行输出添加到会话 | ✅ 支持 |
@ | 文件路径提及 | 触发文件路径自动补全 | ✅ 支持 |
编辑快捷键
| 快捷键 | 描述 | CodeBuddy 支持 |
|---|---|---|
Ctrl+A | 移动到行首 | ✅ 支持 |
Ctrl+E | 移动到行尾 | ✅ 支持 |
Ctrl+K | 删除从光标到行尾 | ✅ 支持 |
Ctrl+U | 删除从行首到光标 | ✅ 支持 |
Ctrl+W | 删除前一个单词 | ✅ 支持 |
Alt/Option+Backspace | 删除前一个单词 | ✅ 支持 |
Alt/Option+Delete | 删除下一个单词 | ✅ 支持 |
Alt/Option+Left | 移动到上一个单词 | ✅ 支持 |
Alt/Option+Right | 移动到下一个单词 | ✅ 支持 |
Ctrl+Left | 移动到行首 | ✅ 支持 |
Ctrl+Right | 移动到行尾 | ✅ 支持 |
Ctrl+G | 打开外部编辑器编辑提示词 | ✅ 支持 |
Vim 编辑器模式
使用 /vim 命令启用 vim 风格编辑,或通过 /config 永久配置。
模式切换
| 命令 | 操作 | 从模式 | CodeBuddy 支持 |
|---|---|---|---|
Esc | 进入 NORMAL 模式 | INSERT | ✅ 支持 |
i | 在光标前插入 | NORMAL | ✅ 支持 |
I | 在行首插入 | NORMAL | ✅ 支持 |
a | 在光标后插入 | NORMAL | ✅ 支持 |
A | 在行尾插入 | NORMAL | ✅ 支持 |
o | 在下方打开新行 | NORMAL | ✅ 支持 |
O | 在上方打开新行 | NORMAL | ✅ 支持 |
导航 (NORMAL 模式)
| 命令 | 操作 | CodeBuddy 支持 |
|---|---|---|
h/j/k/l | 向左/下/上/右移动 | ✅ 支持 |
w | 下一个单词 | ✅ 支持 |
e | 单词末尾 | ✅ 支持 |
b | 上一个单词 | ✅ 支持 |
0 | 行首 | ✅ 支持 |
$ | 行尾 | ✅ 支持 |
^ | 第一个非空白字符 | ✅ 支持 |
gg | 输入开始 | ✅ 支持 |
G | 输入结束 | ✅ 支持 |
编辑 (NORMAL 模式)
| 命令 | 操作 | CodeBuddy 支持 |
|---|---|---|
x | 删除字符 | ✅ 支持 |
dd | 删除行 | ✅ 支持 |
D | 删除到行尾 | ✅ 支持 |
dw/de/db | 删除单词/到末尾/到开头 | ✅ 支持 |
cc | 修改行 | ✅ 支持 |
C | 修改到行尾 | ✅ 支持 |
cw/ce/cb | 修改单词/到末尾/到开头 | ✅ 支持 |
. | 重复上次修改 | ✅ 支持 |
命令历史
CodeBuddy Code 为当前会话维护命令历史:
- 历史记录按工作目录存储
- 使用
/clear开启全新对话(旧对话可通过/resume恢复) - 使用 Up/Down 方向键导航 (参见上面的键盘快捷键)
- 注意:历史扩展 (
!) 默认禁用
使用 Ctrl+R 反向搜索
按 Ctrl+R 交互式搜索您的命令历史:
- 开始搜索:按
Ctrl+R激活反向历史搜索 - 输入查询:输入文本以在之前的命令中搜索 - 搜索词将在匹配结果中高亮显示
- 导航匹配:再次按
Ctrl+R循环浏览更早的匹配项 - 接受匹配:
- 按
Tab或Esc接受当前匹配并继续编辑 - 按
Enter接受并立即执行命令
- 按
- 取消搜索:
- 按
Ctrl+C取消并恢复原始输入 - 在空搜索时按
Backspace取消
- 按
搜索显示匹配的命令并高亮搜索词,方便查找和重用之前的输入。
后台 Bash 命令
CodeBuddy Code 支持在后台运行 bash 命令,允许您在长时间运行的进程执行时继续工作。
后台运行的工作原理
当 CodeBuddy Code 在后台运行命令时,它会异步运行命令并立即返回后台任务 ID。CodeBuddy Code 可以在命令继续在后台执行时响应新的提示。
要在后台运行命令,您可以:
- 提示 CodeBuddy Code 在后台运行命令
- 按
Ctrl+B将常规 Bash 工具调用移至后台。(Tmux 用户必须按两次Ctrl+B,因为 tmux 的前缀键。)
主要功能:
- 输出被缓冲,CodeBuddy 可以使用 BashOutput 工具检索它
- 后台任务具有唯一 ID,用于跟踪和输出检索
- CodeBuddy Code 退出时,后台任务会自动清理
常见的后台命令:
- 构建工具 (webpack, vite, make)
- 包管理器 (npm, yarn, pnpm)
- 测试运行器 (jest, pytest)
- 开发服务器
- 长时间运行的进程 (docker, terraform)
使用 ! 前缀的 Bash 模式
通过在输入前加上 ! 前缀直接运行 bash 命令,无需通过 CodeBuddy:
bash
! npm test
! git status
! ls -laBash 模式:
- 将命令及其输出添加到对话上下文中
- 显示实时进度和输出
- 支持相同的
Ctrl+B后台运行长时间运行的命令 - 不需要 CodeBuddy 解释或批准命令
这对于快速 shell 操作同时保持对话上下文非常有用。
权限模式
CodeBuddy Code 支持多种权限模式来控制工具使用的授权方式:
可用模式
| 模式 | 描述 | 快捷键切换 |
|---|---|---|
| 普通模式 (默认) | 根据权限规则询问工具使用确认 | Shift+Tab/Alt+M |
| 自动接受编辑模式 | 自动批准文件编辑操作 (Edit/Write),其他工具仍需确认 | Shift+Tab/Alt+M |
| 跳过权限模式 | 绕过所有权限检查。建议仅在无互联网访问的沙箱中使用 | Shift+Tab/Alt+M |
| 计划模式 | AI 将制定计划并等待批准后再执行 | Shift+Tab/Alt+M |
切换权限模式
- 使用
Shift+Tab(大多数终端) 或Alt+M(Windows) 在模式之间切换 - 使用
--permission-mode命令行参数指定启动模式:bashcodebuddy --permission-mode acceptEdits codebuddy --permission-mode bypassPermissions codebuddy --permission-mode plan - 在
settings.json中设置默认模式:json{ "permissions": { "defaultMode": "acceptEdits" } }
权限规则
权限模式与权限规则结合使用,以提供细粒度控制。参见 IAM 文档 了解配置权限规则的详细信息。
相关文档
- 斜杠命令 - 交互式会话命令
- CLI 参考 - 命令行标志和选项
- 设置配置 - 配置选项
- 记忆管理 - 管理 CODEBUDDY.md 文件
- IAM 权限 - 工具权限和访问控制
- Bash 沙箱 - Bash 命令沙箱模式
提示:在交互式会话中随时输入
?可查看可用的快捷键和命令。使用/help命令获取更多帮助信息。