Claude Code 模型与界面

Claude Code 模型与界面

自定义快捷键

2 分钟阅读

自定义快捷键

使用快捷键配置文件在 Claude Code 中自定义快捷键。

Claude Code 支持可自定义的快捷键。运行 /keybindings 来创建或打开位于 ~/.claude/keybindings.json 的配置文件。

配置文件

快捷键配置文件是一个包含 bindings 数组的对象。每个块指定一个上下文和一个按键映射到操作的映射。

快捷键文件的更改会自动检测并应用,无需重启 Claude Code。
字段描述
$schema可选的 JSON Schema URL,用于编辑器自动完成
$docs可选的文档 URL
bindings按上下文分组的绑定块数组

此示例将 Ctrl+E 绑定到在聊天上下文中打开外部编辑器,并取消绑定 Ctrl+U

{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "$docs": "/tutorials/cc-interface/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+u": null
      }
    }
  ]
}

上下文

每个绑定块指定一个上下文,其中绑定适用:

上下文描述
Global在应用程序的任何地方应用
Chat主聊天输入区域
Autocomplete自动完成菜单已打开
Settings设置菜单
Confirmation权限和确认对话框
Tabs选项卡导航组件
Help帮助菜单可见
Transcript记录查看器
HistorySearch历史搜索模式(Ctrl+R)
Task后台任务正在运行
ThemePicker主题选择器对话框
Attachments图像附件在选择对话框中的导航
Footer页脚指示器导航(任务、团队、差异)
MessageSelector回溯和总结对话框消息选择
DiffDialog差异查看器导航
ModelPicker模型选择器推理强度级别
Select通用选择/列表组件
Plugin插件对话框(浏览、发现、管理)
Scroll对话滚动和全屏模式下的文本选择

在 v2.1.205 之前,/doctor 诊断屏幕存在 Doctor 上下文和 doctor:fix 操作。

可用操作

操作遵循 namespace:action 格式,例如 chat:submit 发送消息或 app:toggleTodos 显示任务列表。每个上下文都有特定的可用操作。

应用程序操作

Global 上下文中可用的操作:

操作默认描述
app:interruptCtrl+C取消当前操作
app:exitCtrl+D退出 Claude Code
app:redraw(未绑定)强制终端重绘
app:toggleTodosCtrl+T切换 Claude 待办事项清单的可见性。这不是 /tasks 后台任务视图
app:toggleTranscriptCtrl+O切换详细记录

历史操作

用于导航命令历史的操作:

操作默认描述
history:searchCtrl+R打开历史搜索
history:previousUp上一个历史项
history:nextDown下一个历史项

聊天操作

Chat 上下文中可用的操作:

操作默认描述
chat:cancelEscape取消当前输入
chat:clearInputCtrl+L强制全屏重绘,保留输入。在全屏渲染中,在两秒内按两次以运行 /clear
chat:clearScreenCmd+K全屏渲染中,在两秒内按两次以运行 /clear
chat:killAgentsCtrl+X Ctrl+K终止所有运行中的后台子智能体在此会话中
chat:cycleModeShift+Tab*循环权限模式
chat:modelPickerMeta+P打开模型选择器
chat:fastModeMeta+O切换快速模式
chat:thinkingToggleMeta+T切换扩展思考
chat:submitEnter提交消息
chat:newlineCtrl+J插入换行符而不提交
chat:undoCtrl+_, Ctrl+Shift+-撤销上一个操作
chat:externalEditorCtrl+G, Ctrl+X Ctrl+E在外部编辑器中打开
chat:stashCtrl+S隐藏当前提示
chat:imagePasteCtrl+V(Windows 和 WSL 上为 Alt+V)从剪贴板粘贴图像。在 WSL 上,默认情况下两个快捷键都已绑定

*在没有 VT 模式的 Windows 上(Node <24.2.0/<22.17.0,Bun <1.2.23),默认为 Meta+M。

自动完成操作

Autocomplete 上下文中可用的操作:

操作默认描述
autocomplete:acceptTab接受建议
autocomplete:dismissEscape关闭菜单
autocomplete:previousUp上一个建议
autocomplete:nextDown下一个建议

确认操作

Confirmation 上下文中可用的操作:

操作默认描述
confirm:yesY, Enter确认操作
confirm:noN, Escape拒绝操作
confirm:previousUp上一个选项
confirm:nextDown下一个选项
confirm:nextFieldTab下一个字段
confirm:previousField(未绑定)上一个字段
confirm:toggleSpace切换选择
confirm:cycleModeShift+Tab循环权限模式
confirm:toggleExplanationCtrl+E在 Bash 和 PowerShell 权限提示上切换模型生成的命令说明

权限操作

Confirmation 上下文中可用的权限对话框操作:

操作默认描述
permission:toggleDebug(未绑定)切换权限调试信息。之前的 Ctrl+D 默认值在 v2.1.146 中被移除,因为它与 app:exit 冲突

记录操作

Transcript 上下文中可用的操作:

操作默认描述
transcript:toggleShowAllCtrl+E切换显示所有内容
transcript:exitq, Ctrl+C, Escape退出记录查看

历史搜索操作

HistorySearch 上下文中可用的操作:

操作默认描述
historySearch:nextCtrl+R下一个匹配项
historySearch:acceptEscape, Tab接受选择
historySearch:cancelCtrl+C取消搜索
historySearch:executeEnter执行选定的命令
historySearch:cycleScopeCtrl+S循环范围:会话、项目、任何地方

任务操作

Task 上下文中可用的操作:

操作默认描述
task:backgroundCtrl+B, Ctrl+X Ctrl+B后台当前任务。Ctrl+X Ctrl+B 组合键需要 v2.1.169 或更高版本,避免 tmux 前缀冲突

主题操作

ThemePicker 上下文中可用的操作:

操作默认描述
theme:toggleSyntaxHighlightingCtrl+T切换语法高亮

帮助操作

Help 上下文中可用的操作:

操作默认描述
help:dismissEscape关闭帮助菜单

Tabs 操作

Tabs 上下文中可用的操作:

操作默认描述
tabs:nextTab, Right下一个选项卡
tabs:previousShift+Tab, Left上一个选项卡

附件操作

Attachments 上下文中可用的操作:

操作默认描述
attachments:nextRight下一个附件
attachments:previousLeft上一个附件
attachments:removeBackspace, Delete删除选定的附件
attachments:exitDown, Escape退出附件导航

Footer 上下文中可用的操作:

操作默认描述
footer:nextRight下一个页脚项
footer:previousLeft上一个页脚项
footer:upUp在页脚中向上导航(在顶部取消选择)
footer:downDown在页脚中向下导航
footer:openSelectedEnter打开选定的页脚项
footer:clearSelectionEscape清除页脚选择

消息选择器操作

MessageSelector 上下文中可用的操作:

操作默认描述
messageSelector:upUp, K, Ctrl+P在列表中向上移动
messageSelector:downDown, J, Ctrl+N在列表中向下移动
messageSelector:topCtrl+Up, Shift+Up, Meta+Up, Shift+K跳到顶部
messageSelector:bottomCtrl+Down, Shift+Down, Meta+Down, Shift+J跳到底部
messageSelector:selectEnter选择消息

Diff 操作

DiffDialog 上下文中可用的操作:

操作默认描述
diff:dismissEscape关闭差异查看器;从详情视图返回到文件列表
diff:previousSourceLeft上一个差异源
diff:nextSourceRight下一个差异源
diff:previousFileUp, K文件列表中的上一个文件;在详情视图中向上滚动一行
diff:nextFileDown, J文件列表中的下一个文件;在详情视图中向下滚动一行
diff:viewDetailsEnter查看差异详情
diff:back(未绑定)在差异查看器中返回。Escape 通过 diff:dismiss 执行返回操作。详情视图中之前的 Left 默认值在 v2.1.203 中被移除

差异详情视图还将寻呼机风格的快捷键绑定到标准滚动操作。这些绑定是 DiffDialog 上下文的一部分,仅在详情视图中应用;滚动操作下列出的 Scroll 上下文默认值保持不变。

操作默认描述
scroll:pageUpPageUp向上滚动视口的一半
scroll:pageDownPageDown向下滚动视口的一半
scroll:fullPageUpShift+Space, B向上滚动整个视口
scroll:fullPageDownSpace向下滚动整个视口
scroll:topG, Home跳到顶部
scroll:bottomShift+G, End跳到底部

模型选择器操作

ModelPicker 上下文中可用的操作:

操作默认描述
modelPicker:decreaseEffortLeft降低推理强度级别
modelPicker:increaseEffortRight提高推理强度级别
modelPicker:thisSessionOnlys仅将突出显示的模型应用于此会话

选择操作

Select 上下文中可用的操作:

操作默认描述
select:nextDown, J, Ctrl+N下一个选项
select:previousUp, K, Ctrl+P上一个选项
select:acceptEnter接受选择
select:cancelEscape取消选择

Plugin 操作

Plugin 上下文中可用的操作:

操作默认描述
plugin:toggleSpace切换插件选择
plugin:installI安装选定的插件
plugin:favoriteF将选定的插件标记为收藏,使其在"已安装"选项卡顶部附近排序

设置操作

Settings 上下文中可用的操作。select:acceptconfirm:no 操作从选择确认上下文中重用,具有特定于设置的行为:更改会在您更改时立即应用于每个设置,因此 Escape 关闭面板并保存您的更改,而不是拒绝。

操作默认描述
settings:search/进入搜索模式
settings:retryR重试加载使用数据(出错时)
select:acceptEnter, Space更改选定的设置或打开其子菜单
confirm:noEscape关闭面板。更改已保存

语音操作

在启用语音听写时,在 Chat 上下文中可用的操作:

操作默认描述
voice:pushToTalkSpace听写提示。根据 /voice 模式按住或点击

滚动操作

在启用全屏渲染时,在 Scroll 上下文中可用的操作:

操作默认描述
scroll:lineUp(未绑定)向上滚动一行。鼠标滚轮滚动触发此操作
scroll:lineDown(未绑定)向下滚动一行。鼠标滚轮滚动触发此操作
scroll:pageUpPageUp向上滚动视口高度的一半
scroll:pageDownPageDown向下滚动视口高度的一半
scroll:topCtrl+Home跳到对话的开始
scroll:bottomCtrl+End跳到最新消息并重新启用自动跟随
scroll:halfPageUp(未绑定)向上滚动视口高度的一半。与 scroll:pageUp 相同的行为,为 vi 风格的重新绑定提供
scroll:halfPageDown(未绑定)向下滚动视口高度的一半。与 scroll:pageDown 相同的行为,为 vi 风格的重新绑定提供
scroll:fullPageUp(未绑定)向上滚动整个视口高度
scroll:fullPageDown(未绑定)向下滚动整个视口高度
selection:copyCtrl+Shift+C / Cmd+C将选定的文本复制到剪贴板
selection:clear(未绑定)清除活动的文本选择
selection:extendLeftShift+Left将活动选择向左扩展一列
selection:extendRightShift+Right将活动选择向右扩展一列
selection:extendUpShift+Up将活动选择向上扩展一行。当选择到达顶部边缘时滚动视口
selection:extendDownShift+Down将活动选择向下扩展一行。当选择到达底部边缘时滚动视口
selection:extendLineStartShift+Home将活动选择扩展到行的开始
selection:extendLineEndShift+End将活动选择扩展到行的结束

按键语法

修饰符

使用修饰符键和 + 分隔符:

  • ctrlcontrol - Control 键
  • shift - Shift 键
  • altoptoptionmeta - Windows 和 Linux 上的 Alt 键,macOS 上的 Option 键
  • cmdcommandsuperwin - macOS 上的 Command 键,Windows 上的 Windows 键,Linux 上的 Super 键

cmd 组仅在报告 Super 修饰符的终端中被检测到,例如支持 Kitty 键盘协议或 xterm 的 modifyOtherKeys 模式的终端。大多数终端不会发送它,因此对于希望在任何地方都能工作的绑定,请使用 ctrlmeta

例如:

ctrl+k          Ctrl + K
shift+tab       Shift + Tab
meta+p          macOS 上的 Option + P,其他地方的 Alt + P
ctrl+shift+c    多个修饰符

大写字母

独立的大写字母意味着 Shift。例如,K 等同于 shift+k。这对于 vim 风格的绑定很有用,其中大写和小写键有不同的含义。

带有修饰符的大写字母(例如 ctrl+K)被视为风格上的,意味着 Shift:ctrl+Kctrl+k 相同。

和弦

和弦是由空格分隔的按键序列:

ctrl+k ctrl+s   按 Ctrl+K,释放,然后按 Ctrl+S

特殊键

  • escapeesc - Escape 键
  • enterreturn - Enter 键
  • tab - Tab 键
  • space - 空格键
  • updownleftright - 箭头键
  • backspacedelete - 删除键

取消绑定默认快捷键

将操作设置为 null 以取消绑定默认快捷键:

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

这也适用于和弦绑定。取消绑定共享前缀的每个和弦会释放该前缀以用作单键绑定。任何活跃上下文中的和弦都会保留其前缀,因此您必须在定义该和弦的上下文中取消绑定每个和弦。

默认的 Ctrl+X 系列跨越两个上下文:Chat 中的 ctrl+x ctrl+kctrl+x ctrl+e,以及 Task 中的 ctrl+x ctrl+b。要将 ctrl+x 本身回收为单键绑定,请取消绑定所有这些:

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+x ctrl+b": null
      }
    },
    {
      "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)
Caps Lock不传递到终端应用程序

终端冲突

某些快捷键可能与终端多路复用器冲突:

快捷键冲突
Ctrl+Btmux 前缀(按两次发送)
Ctrl+AGNU screen 前缀
Ctrl+ZUnix 进程暂停(SIGTSTP)

Vim 模式交互

启用 vim 模式(通过 /config → 编辑器模式)时,快捷键和 vim 模式独立运行:

  • Vim 模式在文本输入级别处理输入(光标移动、模式、动作)
  • 快捷键在组件级别处理操作(切换待办事项、提交等)
  • vim 模式中的 Escape 键从 INSERT 切换到 NORMAL 模式;它不触发 chat:cancel
  • 大多数 Ctrl+key 快捷键通过 vim 模式传递到快捷键系统
  • Vim 键不能通过快捷键文件重新映射。要映射两键 INSERT 模式序列(如 jj)到 Escape,请使用 vimInsertModeRemaps 设置
  • 在 vim NORMAL 模式中,? 显示帮助菜单(vim 行为)
  • 在 vim NORMAL 模式中,/ 打开历史搜索,与标准模式中的 Ctrl+R 相同

验证

Claude Code 验证您的快捷键并显示以下警告:

  • 解析错误(无效的 JSON 或结构)
  • 无效的上下文名称
  • 保留快捷键冲突
  • 终端多路复用器冲突
  • 同一上下文中的重复绑定

Claude Code 在文件加载时报告警告,并将每个警告写入调试日志。使用 --debug 启动 Claude Code 以查看详细信息。