Claude Code 交互模式提供快捷键、Vim 键位和命令历史等能力,用于快速输入、回退、后台执行和会话管理。关键配置:macOS 需将 Option 设为 Meta 键(iTerm2 设置 Profile->Keys),多行输入可用 \ + Enter 或 Shift+Enter;按 Ctrl+R 反向搜索历史,Ctrl+B 后台运行 bash 命令。输入 ! 进入 shell 模式直接执行命令,/btw 问临时问题不干扰主会话。输出超 5GB 后台任务自动终止。
Claude Code 交互模式:快捷键、输入方式与高级功能参考
包含键盘快捷键、输入模式与交互特性的完整说明。
快捷键配置指南
快捷键可能因平台和终端而异。在全屏渲染模式下,按
?查看转录区可用快捷键。macOS 用户: Option/Alt 快捷键(
Alt+B、Alt+F、Alt+Y、Alt+M、Alt+P)需要配置 Option 为 Meta 键:
- iTerm2: 设置 → Profiles → Keys → General → 将左/右 Option 键设为 “Esc+”
- Apple Terminal: 设置 → Profiles → Keyboard → 勾选 “Use Option as Meta Key”
- VS Code: 将
"terminal.integrated.macOptionIsMeta": true添加到 VS Code 设置详见终端配置。
通用快捷键
| 快捷键 | 描述 | 使用场景 |
|---|---|---|
Ctrl+C |
中断或清空输入 | 中断正在运行的操作。没有任务运行时,首次按下清空输入,再次按下退出 Claude Code |
Ctrl+X Ctrl+K |
终止当前会话中所有后台子代理。3 秒内确认两次 | 子代理控制 |
Ctrl+D |
退出 Claude Code 会话 | EOF 信号 |
Ctrl+G 或 Ctrl+X Ctrl+E |
在默认编辑器打开 | 用默认编辑器编辑提示词或响应。Ctrl+X Ctrl+E 是 readline 原生绑定。在 /config 中开启"在外部编辑器中显示最后一条回复"后,Claude 上一轮回复会以 # 注释形式附在提示词上方,保存时自动去掉注释块 |
Ctrl+L |
重绘屏幕 | 强制全终端重绘,保留输入和对话历史。显示混乱或部分空白时可用 |
Ctrl+O |
切换转录查看器 | 显示详细的工具调用和执行过程。MCP 调用默认折叠为一行(如 “Called slack 3 times”),切换后展开 |
Ctrl+R |
反向搜索命令历史 | 交互式搜索历史命令 |
Ctrl+V 或 Cmd+V (iTerm2) 或 Alt+V (Windows) |
从剪贴板粘贴图片 | 在光标处插入 [Image #N] 标签,可在提示词中按位置引用 |
Ctrl+B |
将任务移至后台 | 将 bash 命令和代理置入后台运行。tmux 用户需按两次 |
Ctrl+T |
切换任务列表 | 显示或隐藏终端状态区域的任务列表 |
左/右箭头 |
在对话框标签页间切换 | 在权限对话框和菜单的标签页间导航 |
上/下箭头 或 Ctrl+P/Ctrl+N |
移动光标或导航命令历史 | 多行输入时,首次按会移动光标到提示框内。光标已在顶部或底部后,再次按下会切换到命令历史导航 |
Esc |
中断 Claude | 停止当前响应或工具调用,Claude 保留已完成的工作 |
Esc + Esc |
清空输入草稿或回退 | 提示框有内容时,按两次清除并保存草稿到历史(上箭头可召回)。提示框为空时,两次按打开回退菜单,恢复或总结之前状态 |
Shift+Tab 或 Alt+M (部分配置) |
切换权限模式 | 在 default、acceptEdits、plan 以及已启用的 auto 或 bypassPermissions 之间切换。详见权限模式 |
Option+P (macOS) 或 Alt+P (Windows/Linux) |
切换模型 | 不清空提示词直接切换模型 |
Option+T (macOS) 或 Alt+T (Windows/Linux) |
切换扩展思考 | 启用或禁用扩展思考模式。{/* min-version: 2.1.132 */}macOS 上 v2.1.132 起不需配置 Option 为 Meta |
Option+O (macOS) 或 Alt+O (Windows/Linux) |
切换快速模式 | 启用或禁用快速模式 |
文本编辑快捷键
| 快捷键 | 描述 | 使用场景 |
|---|---|---|
Ctrl+A |
移至当前行首 | 多行输入时,移动到当前逻辑行开头 |
Ctrl+E |
移至当前行尾 | 多行输入时,移动到当前逻辑行结尾 |
Ctrl+K |
删除到行尾 | 删除内容可用于粘贴 |
Ctrl+U |
从光标删到行首 | 删除内容可用于粘贴。多行输入可重复执行来清空不同行。macOS 终端(iTerm2、Terminal.app)下 Cmd+Backspace 也映射为此快捷键 |
Ctrl+W |
删除前一个单词 | 删除内容可用于粘贴。Windows 下 Ctrl+Backspace 也删除前一个单词 |
Ctrl+Y |
粘贴已删除文本 | 粘贴用 Ctrl+K、Ctrl+U 或 Ctrl+W 删除的内容 |
Alt+Y (在 Ctrl+Y 后) |
循环粘贴历史 | 粘贴后轮流显示之前删除的文本。macOS 上需配置Option 为 Meta |
Alt+B |
光标后退一个单词 | 单词级导航。macOS 上需配置Option 为 Meta |
Alt+F |
光标前进一个单词 | 单词级导航。macOS 上需配置Option 为 Meta |
主题与显示
| 快捷键 | 描述 | 使用场景 |
|---|---|---|
Ctrl+T |
切换代码块语法高亮 | 仅在 /theme 选择菜单中生效。控制 Claude 回复中代码是否带语法着色 |
多行输入方法对照
| 方法 | 快捷键 | 使用场景 |
|---|---|---|
| 快速换行 | \ + Enter |
所有终端可用 |
| Option 键 | Option+Enter |
macOS 上需开启Option 为 Meta |
| Shift+Enter | Shift+Enter |
iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 原生支持 |
| 控制序列 | Ctrl+J |
无需配置,任何终端可用 |
| 粘贴模式 | 直接粘贴 | 用于代码块、日志等内容 |
Shift+Enter 在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 中无需额外配置。VS Code、Cursor、Windsurf、Alacritty、Zed 用户可运行
/terminal-setup安装绑定。
快捷指令
| 快捷键 | 描述 | 说明 |
|---|---|---|
以 / 开头 |
命令或技能 | 参见命令和技能 |
以 ! 开头 |
Shell 模式 | 直接运行命令,将执行输出加入会话上下文 |
@ |
文件路径提及 | 触发文件路径自动补全 |
转录查看器
按 Ctrl+O 打开转录查看器后,以下快捷键可用。全屏渲染模式下按 ? 显示完整快捷键面板。Ctrl+E 可通过 transcript:toggleShowAll 重新绑定。
| 快捷键 | 描述 |
|---|---|
? |
切换快捷键帮助面板。需要全屏渲染模式 |
{ / } |
跳转到上一个或下一个用户提示,类似 vim 段落移动。需要全屏渲染模式 |
Ctrl+E |
切换全部内容显示 |
[ |
将完整对话写入终端的原生滚动缓存,以便 Cmd+F、tmux 复制模式等工具搜索。需要全屏渲染模式 |
v |
将对话写入临时文件并用 $VISUAL 或 $EDITOR 打开。需要全屏渲染模式 |
q、Ctrl+C、Esc |
退出转录视图。三个快捷键均可通过 transcript:exit 重新绑定 |
语音输入
| 快捷键 | 描述 | 说明 |
|---|---|---|
按住或轻按 Space |
语音听写 | 需要启用语音听写。按住录音,或运行 /voice tap 使用轻按切换模式。可通过快捷绑定修改 |
命令
在 Claude Code 中输入 / 查看所有可用命令,或输入 / 后跟任意字母进行过滤。/ 菜单显示所有可调用的内容:内置命令、捆绑或用户编写的技能,以及插件和 MCP 服务器贡献的命令。部分内置命令因平台或订阅计划不同而不可见。
完整命令列表见命令参考。
Vim 编辑模式配置
通过 /config → Editor mode 启用 vim 风格编辑。
模式切换
| 命令 | 动作 | 来源模式 |
|---|---|---|
Esc |
进入 NORMAL 模式 | INSERT、VISUAL |
i |
在光标前插入 | NORMAL |
I |
在行首插入 | NORMAL |
a |
在光标后插入 | NORMAL |
A |
在行尾插入 | NORMAL |
o |
在下方新建行 | NORMAL |
O |
在上方新建行 | NORMAL |
v |
开始逐字选择 | NORMAL |
V |
开始逐行选择 | NORMAL |
NORMAL 模式导航
| 命令 | 动作 |
|---|---|
h/j/k/l |
左/下/上/右移动 |
Space |
向右移动 |
w |
下一个单词 |
e |
单词末尾 |
b |
上一个单词 |
0 |
行首 |
$ |
行尾 |
^ |
行首第一个非空白字符 |
gg |
输入开头 |
G |
输入结尾 |
f{char} |
跳到下一个字符出现位置 |
F{char} |
跳到上一个字符出现位置 |
t{char} |
跳到下一个字符前一位 |
T{char} |
跳到上一个字符后一位 |
; |
重复上次 f/F/t/T 移动 |
, |
反向重复上次 f/F/t/T 移动 |
vim 普通模式下,光标已在输入位置首尾无法移动时,
j/k和方向键会自动切换到命令历史导航。
NORMAL 模式编辑
| 命令 | 动作 |
|---|---|
x |
删除字符 |
dd |
删除行 |
D |
删除到行尾 |
dw/de/db |
删除单词/到词尾/向后 |
cc |
修改行 |
C |
修改到行尾 |
cw/ce/cb |
修改单词/到词尾/向后 |
yy/Y |
复制行 |
yw/ye/yb |
复制单词/到词尾/向后 |
p |
在光标后粘贴 |
P |
在光标前粘贴 |
>> |
缩进行 |
<< |
反缩行 |
J |
合并行 |
u |
撤销 |
. |
重复上次修改 |
NORMAL 模式文本对象
文本对象配合 d、c、y 等操作符使用:
| 命令 | 动作 |
|---|---|
iw/aw |
单词内部/包含周围单词 |
iW/aW |
空白分隔 WORD 内部/包含周围 |
i"/a" |
双引号内部/包含周围 |
i'/a' |
单引号内部/包含周围 |
i(/a( |
圆括号内部/包含周围 |
i[/a[ |
方括号内部/包含周围 |
i{/a{ |
花括号内部/包含周围 |
VISUAL 模式
按 v 进入逐字选择模式,或 V 进入逐行选择模式。方向移动会扩展选区,操作符直接作用于选区。
| 命令 | 动作 |
|---|---|
d/x |
删除选区 |
y |
复制选区 |
c/s |
修改选区 |
p |
用寄存器内容替换选区 |
r{char} |
将每个选中字符替换为 {char} |
~/u/U |
切换大小写、转换为小写、大写 |
>/< |
缩进或反缩进选中行 |
J |
合并选中行 |
o |
交换光标和锚点 |
iw/aw/i"/… |
选中一个文本对象 |
v/V |
在逐字和逐行选择间切换,或退出 |
不支持 Ctrl+V 块选择模式。
命令历史管理与反向搜索
Claude Code 维护当前会话的命令历史:
- 输入历史按工作目录存储
- 运行
/clear开始新会话时历史重置,但上一会话的对话会保留并可恢复 - 连续两次提交相同提示词只会记录一条历史,按上箭头会跳到上一条不同的提示词
- 使用上/下箭头导航(参见上方快捷键)
- 注意:默认禁用
!历史展开
Ctrl+R 反向搜索操作步骤
按 Ctrl+R 可交互式搜索命令历史:
- 开始搜索:按
Ctrl+R激活反向历史搜索 - 输入查询:输入文本搜索历史命令,匹配项高亮显示
- 切换匹配:再次按
Ctrl+R循环查看更早的匹配 - 切换搜索范围:默认搜索所有项目的提示词。按
Ctrl+S切换范围为:当前会话、当前项目、所有项目 - 接受匹配:
Tab或Esc接受匹配,继续编辑Enter接受并立即执行
- 取消搜索:
Ctrl+C取消并恢复原始输入- 空搜索时按
Backspace取消
搜索结果显示匹配的命令,搜索词高亮显示,便于找到并复用之前输入。
后台 bash 命令配置与运行
Claude Code 支持在后台运行 bash 命令,允许在长任务执行的同时继续工作。
后台运行原理
Claude Code 后台运行命令时,异步执行并立即返回后台任务 ID。Claude Code 可以继续响应新提示,同时命令在后台执行。
后台命令的启动方式:
- 让 Claude Code 在后台执行命令
- 按 Ctrl+B 将正在运行的 Bash 工具调用移到后台(tmux 用户需按两次)
关键特性:
- 输出写入文件,Claude 可通过 Read 工具获取
- 后台任务有唯一 ID 用于追踪和输出获取
- Claude Code 退出时自动清理后台任务
- 后台任务输出超过 5GB 时自动终止,stderr 中会记录终止原因
禁用所有后台任务功能:设置环境变量 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1。详见环境变量。
常见的可后台命令:
- 构建工具(webpack、vite、make)
- 包管理器(npm、yarn、pnpm)
- 测试框架(jest、pytest)
- 开发服务器
- 长时间运行的进程(docker、terraform)
Shell 模式(! 前缀直接执行)
输入前加 ! 直接运行 shell 命令,无需 Claude 介入:
! npm test
! git status
! ls -la
Shell 模式:
- 命令及输出会加入对话上下文
- 显示实时进度和输出
- 支持
Ctrl+B后台运行长命令 - 不需要 Claude 解释或批准命令
- 支持历史自动补全:输入部分命令后按 Tab 可从当前项目之前执行的
!命令中补全 - 空提示框下按
Escape、Backspace或Ctrl+U退出 - 向空提示框粘贴以
!开头的文本会自动进入 shell 模式,行为与手动输入!一致
提示词建议机制
打开会话时,提示输入框会显示灰色示例命令,帮助快速上手。Claude Code 从项目的 git 历史中选取,反映近期工作的文件。
Claude 响应后,建议会根据对话历史继续出现,例如多步请求的后续步骤或自然延续的操作。
- 按 Tab 或 右箭头 将建议放入提示框,然后按 Enter 提交
- 开始输入即可忽略建议
建议作为后台请求运行,复用父会话的提示缓存,附加成本极低。缓存冷时 Claude Code 会跳过建议生成以避免不必要消耗。
建议在对话第一轮后自动跳过,在非交互模式和计划模式下也自动跳过。
完全禁用提示建议:设置环境变量或在 /config 中切换:
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
/btw 侧边提问使用场景与限制
用 /btw 快速提问,不加入对话历史。适合快速获取答案但不干扰 Claude 正在执行的任务。
/btw 那个配置文件叫什么名字来着?
侧边提问能完整看到当前对话:可以询问 Claude 已读取的代码、之前做出的决定或会话中的任何内容。问题和答案都是临时的:出现在可关闭的浮层中,不会进入对话历史。
- Claude 工作时也可使用:Claude 处理响应期间运行
/btw,侧边提问独立运行,不打断主轮次 - 无工具访问:仅基于当前上下文中的内容回答,Claude 不能读取文件、运行命令或搜索
- 单次响应:不支持多轮对话。如需多轮,请使用普通提示词
- 低成本:侧边提问复用父会话的提示缓存,附加成本极低
按 Space、Enter 或 Escape 关闭答案,返回提示框。
/btw 是子代理的逆操作:它能看到完整对话但没有工具,子代理有完整工具但从空上下文开始。用 /btw 问 Claude 已在当前会话中了解的内容;用子代理去查找新信息。
任务列表
处理复杂多步骤工作时,Claude 会创建任务列表跟踪进度。任务显示在终端状态区域,包含待处理、进行中和已完成标识。
- 按
Ctrl+T切换任务列表视图,最多同时显示 5 个任务 - 想查看或清除所有任务时直接告诉 Claude:“显示所有任务"或"清除所有任务”
- 任务在上下文压缩后仍保留,帮助 Claude 在大型项目上保持组织
- 跨会话共享任务列表:设置
CLAUDE_CODE_TASK_LIST_ID使用~/.claude/tasks/中的命名目录:CLAUDE_CODE_TASK_LIST_ID=my-project claude
会话摘要
离开终端后返回时,Claude Code 会显示一行会话摘要。摘要在上一次轮次完成至少三分钟后且终端未激活时在后台生成,切换回来时直接可用。摘要仅在会话至少有三次轮次后出现,且不会连续两次显示。
运行 /recap 可手动生成摘要。通过 /config 禁用自动摘要(关闭Session recap)。
会话摘要在所有计划和 provider 上默认开启。非交互模式下始终跳过。
PR 审查状态显示
在有开放 PR 的分支上工作时,Claude Code 在底部显示可点击的 PR 链接(如 “PR #446”)。链接下划线颜色表示审查状态:
- 绿色:已批准
- 黄色:待审查
- 红色:需要修改
- 灰色:草稿
PR 合并或关闭后徽标消失。Cmd+click(Mac)或 Ctrl+click(Windows/Linux)在浏览器中打开 PR。状态每 60 秒自动刷新,当前会话中执行 gh pr 或 git push 命令后立即刷新。
PR 状态需要安装并认证
ghCLI(gh auth login)。
常见问题
Claude Code 交互模式下怎么输入多行代码?
多行输入有多种方式:所有终端可用 \ + Enter;macOS 上可用 Option+Enter 或 Shift+Enter;任何终端都可按 Ctrl+J 直接换行。大量代码可直接粘贴进入多行输入模式。
Claude Code 快捷键在 macOS 上不生效怎么办?
macOS 上的 Option 快捷键(如 Alt+B、Alt+F)需要将 Option 键配置为 Meta 键。iTerm2 用户进入设置 → Profiles → Keys → General 将 Option 键设为 “Esc+”;Apple Terminal 用户在设置 → Profiles → Keyboard 勾选 “Use Option as Meta Key”。
/btw 侧边提问和子代理有什么区别?
/btw 能看到完整对话但没有工具访问,适合询问 Claude 在当前会话中已经了解的内容。子代理有全部工具但从空上下文开始,适合去查找新信息。两者互补,/btw 低成本不打断主任务。