Skip to content

交互模式

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+TabAlt+M (部分配置)切换权限模式在自动接受模式、计划模式和普通模式之间切换✅ 支持

说明:

  • Esc + Esc 回退功能已支持:当输入框内容为空时,连续按两次 ESC 键可激活 /rewind 功能,快速回退代码或对话到之前的状态
  • Tab 键在 CodeBuddy Code 中主要用于自动补全,扩展思考模式的切换功能部分支持
  • Shift+TabAlt+M (Windows) 用于切换权限模式,包括普通模式、自动接受编辑模式、跳过权限模式和计划模式

多行输入

方法快捷键上下文CodeBuddy 支持
快速转义\ + Enter在所有终端中工作✅ 支持
macOS 默认Option+EntermacOS 上的默认设置✅ 支持
终端设置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 交互式搜索您的命令历史:

  1. 开始搜索:按 Ctrl+R 激活反向历史搜索
  2. 输入查询:输入文本以在之前的命令中搜索 - 搜索词将在匹配结果中高亮显示
  3. 导航匹配:再次按 Ctrl+R 循环浏览更早的匹配项
  4. 接受匹配:
    • TabEsc 接受当前匹配并继续编辑
    • Enter 接受并立即执行命令
  5. 取消搜索:
    • 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 -la

Bash 模式:

  • 将命令及其输出添加到对话上下文中
  • 显示实时进度和输出
  • 支持相同的 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 命令行参数指定启动模式:
    bash
    codebuddy --permission-mode acceptEdits
    codebuddy --permission-mode bypassPermissions
    codebuddy --permission-mode plan
  • settings.json 中设置默认模式:
    json
    {
      "permissions": {
        "defaultMode": "acceptEdits"
      }
    }

权限规则

权限模式与权限规则结合使用,以提供细粒度控制。参见 IAM 文档 了解配置权限规则的详细信息。

相关文档


提示:在交互式会话中随时输入 ? 可查看可用的快捷键和命令。使用 /help 命令获取更多帮助信息。