帮你快速理解、总结文档立即下载

自定义快捷键

最近更新时间:2026-08-26 17:59:30
我的收藏
CodeBuddy Code 支持自定义键盘快捷键。运行 /keybindings 命令创建或打开位于 ~/.codebuddy/keybindings.json 的配置文件。

配置文件

keybindings 配置文件是一个包含 bindings 数组的对象。每个 block 指定一个上下文(context)和按键到动作的映射。
说明:
对 keybindings 文件的更改会自动检测并应用,无需重启 CodeBuddy Code。
字段
说明
$schema
可选,JSON Schema URL,用于编辑器自动补全
$docs
可选,文档 URL
bindings
按上下文组织的绑定块数组
以下示例在 Chat 上下文中将 Ctrl+E 绑定到外部编辑器,并解绑 Ctrl+U
{
"$schema": "https://code.codebuddy.ai/schemas/keybindings.json",
"$docs": "https://code.codebuddy.ai/docs/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+e": "chat:externalEditor",
"ctrl+u": null
}
}
]
}

上下文(Contexts)

每个绑定块指定一个 context,决定快捷键在何时生效:
Context
说明
Global
在应用的任何位置生效
Chat
聊天输入框获得焦点时
InputBox
文本输入框处于活跃状态时
Terminal
终端视图处于活跃状态时
Autocomplete
自动补全菜单显示时
Confirmation
确认/权限对话框显示时
HistorySearch
搜索命令历史时 (Ctrl+R)
Task
任务/代理在前台运行时
Settings
设置面板打开时
CommandPalette
命令面板打开时
Select
选择/列表组件获得焦点时
PermissionDialog
工具权限对话框显示时
Help
帮助页面打开时
Plugin
插件对话框打开时
DiffDialog
Diff 对话框打开时
MessageSelector
消息选择器 (rewind) 打开时

可用动作(Actions)

动作遵循 namespace:action 格式,如 chat:submit 发送消息、app:toggleTodos 切换待办事项列表。每个上下文有特定的可用动作。

应用动作

Global 上下文中可用:
动作
默认按键
说明
app:interrupt
Ctrl+C
中断当前操作
app:exit
Ctrl+D
退出 CodeBuddy Code
app:redraw
Ctrl+L
刷新终端屏幕
app:toggleTodos
Ctrl+T
切换待办事项列表
app:toggleTranscript
Ctrl+O
切换详细转录
app:toggleSidebar
Cmd+B
切换侧边栏(Web UI)
app:toggleTerminal
Cmd+J
切换终端(Web UI)
app:commandPalette
Cmd+Shift+P / Ctrl+Shift+P
打开命令面板(Web UI)
app:newChat
Cmd+N
新建对话(Web UI)
app:settings
Cmd+,
打开设置(Web UI)
app:focusInput
Cmd+L
聚焦输入框(Web UI)

历史动作

用于导航命令历史:
动作
默认按键
说明
history:search
Ctrl+R
打开历史搜索
history:previous
Up
上一条历史
history:next
Down
下一条历史

聊天动作

Chat 上下文中可用:
动作
默认按键
说明
chat:cancel
Escape
取消当前输入,或中断当前前台请求
chat:submit
Enter
发送消息
chat:killAgents
Ctrl+X Ctrl+K
终止所有后台代理
chat:cycleMode
Shift+Tab (Windows 同时支持 Alt+M)
切换权限模式
chat:modelPicker
Meta+P
打开模型选择器
chat:thinkingToggle
Meta+T
切换扩展思考
chat:undo
Ctrl+_, Ctrl+Shift+-
撤销
chat:externalEditor
Ctrl+G, Ctrl+X Ctrl+E
在外部编辑器中打开
chat:stash
Ctrl+S
暂存当前输入
chat:imagePaste
Ctrl+V (Windows: Alt+V)
粘贴图片
所有平台统一使用 Shift+Tab 作为主快捷键。Windows 上同时保留 Alt+M 作为别名,方便终端不支持 Shift+Tab 时使用。

自动补全动作

Autocomplete 上下文中可用:
动作
默认按键
说明
autocomplete:accept
Tab
接受建议
autocomplete:dismiss
Escape
关闭菜单
autocomplete:previous
Up
上一项
autocomplete:next
Down
下一项

确认动作

Confirmation 上下文中可用:
动作
默认按键
说明
confirm:yes
Y, Enter
确认
confirm:no
N, Escape
取消
confirm:previous
Up
上一项
confirm:next
Down
下一项
confirm:toggle
Space
切换选中
confirm:toggleExplanation
Ctrl+E
切换权限说明
permission:toggleDebug
Ctrl+D
切换权限调试信息

转录动作

Transcript 上下文中可用:
动作
默认按键
说明
transcript:toggleShowAll
Ctrl+E
切换显示全部内容
transcript:exit
Q, Ctrl+C, Escape
退出转录视图

历史搜索动作

HistorySearch 上下文中可用:
动作
默认按键
说明
historySearch:next
Ctrl+R
下一条匹配
historySearch:accept
Escape, Tab
接受选择
historySearch:cancel
Ctrl+C
取消搜索
historySearch:execute
Enter
执行选中命令

任务动作

Task 上下文中可用:
动作
默认按键
说明
task:background
Ctrl+B
将当前任务转入后台

帮助动作

Help 上下文中可用:
动作
默认按键
说明
help:dismiss
Escape
关闭帮助菜单

设置动作

Settings 上下文中可用:
动作
默认按键
说明
settings:search
/
进入搜索模式
settings:close
Enter
保存并关闭配置面板

选择列表动作

Select 上下文中可用:
动作
默认按键
说明
select:next
Down, J, Ctrl+N
下一项
select:previous
Up, K, Ctrl+P
上一项
select:accept
Enter
确认选择
select:cancel
Escape
取消选择

命令面板动作

CommandPalette 上下文中可用:
动作
默认按键
说明
commandPalette:previous
Up
上一项
commandPalette:next
Down
下一项
commandPalette:execute
Enter
执行命令
commandPalette:close
Escape
关闭面板

Diff 动作

DiffDialog 上下文中可用:
动作
默认按键
说明
diff:dismiss
Escape
关闭 Diff 查看器
diff:previousFile
Up
上一个文件
diff:nextFile
Down
下一个文件
diff:viewDetails
Enter
查看详情

消息选择器动作

MessageSelector 上下文中可用:
动作
默认按键
说明
messageSelector:up
Up, K, Ctrl+P
向上移动
messageSelector:down
Down, J, Ctrl+N
向下移动
messageSelector:top
Shift+Up
跳到顶部
messageSelector:bottom
Shift+Down
跳到底部
messageSelector:select
Enter
选择消息

插件动作

Plugin 上下文中可用:
动作
默认按键
说明
plugin:toggle
Space
切换插件选中
plugin:install
I
安装选中插件

按键语法

修饰键

使用 + 分隔符组合修饰键:
ctrlcontrol — Control 键
altoptoption — Alt/Option 键
shift — Shift 键
metacmdcommand — Meta/Command 键
示例:
ctrl+k 单个修饰键 + 按键
shift+tab Shift + Tab
meta+p Command/Meta + P
ctrl+shift+c 多个修饰键

弦序列(Chords)

弦序列是用空格分隔的连续按键组合:
ctrl+x ctrl+k 先按 Ctrl+X,松开,再按 Ctrl+K
ctrl+x ctrl+e 先按 Ctrl+X,松开,再按 Ctrl+E
弦序列有 1000ms 超时。如果超时未完成第二步,弦序列将被取消。

特殊按键

escapeesc — Escape 键
enterreturn — Enter 键
tab — Tab 键
space — 空格键
updownleftright — 方向键
backspacedelete — 删除键

解绑默认快捷键

将动作设为 null 以解绑默认快捷键:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+s": null
}
}
]
}
解绑弦序列的所有组合后,可以将前缀键用作单键绑定:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+x ctrl+k": null,
"ctrl+x ctrl+e": null,
"ctrl+x": "chat:newline"
}
}
]
}
如果只解绑了部分弦序列,按下前缀键仍会进入弦等待模式。

保留快捷键

以下快捷键不可重新绑定:
快捷键
原因
Ctrl+C
硬编码的中断/取消
Ctrl+D
硬编码的退出
Ctrl+M
在终端中等同于 Enter(两者都发送 CR)

终端冲突

某些快捷键可能与终端复用器冲突:
快捷键
冲突
Ctrl+B
tmux 前缀键(按两次发送)
Ctrl+A
GNU screen 前缀键
Ctrl+Z
Unix 进程挂起 (SIGTSTP)

Web UI 可视化配置

除了编辑 JSON 文件,您还可以在 Web UI 中通过可视化界面管理快捷键:
1. 在侧边栏点击 快捷键 导航项,或使用 URL #/keybindings
2. 使用搜索框按名称、按键或上下文筛选快捷键
3. 点击编辑按钮(铅笔图标)录制新的快捷键组合
4. 录制对话框会实时显示冲突检测
5. 用户自定义的绑定以左侧高亮边框标记
6. 点击重置按钮可恢复单个绑定为默认值

REST API

Web UI 通过 REST API 管理快捷键:
端点
方法
说明
/api/v1/keybindings
GET
获取所有快捷键(默认 + 用户 + 合并)
/api/v1/keybindings
PUT
保存用户快捷键配置
/api/v1/keybindings/reset
POST
重置为默认值(删除用户配置)
/api/v1/keybindings/validate
POST
验证配置(不保存)

验证

CodeBuddy Code 会验证您的快捷键配置并对以下情况显示警告:
解析错误(无效的 JSON 或结构)
无效的上下文名称
保留快捷键冲突
终端复用器冲突
同一上下文中的重复绑定