交互模式
Claude Code 会话中键盘快捷键、输入模式和交互功能的完整参考。
键盘快捷键
键盘快捷键可能因平台和终端而异。在全屏渲染中,在转录查看器中按 ? 查看可用的快捷键。
macOS 用户:Option/Alt 键快捷键(Alt+B、Alt+F、Alt+Y、Alt+M、Alt+P)需要在终端中将 Option 配置为 Meta:
- iTerm2:设置 → 配置文件 → 键 → 常规 → 将左/右 Option 键设置为"Esc+"
- Apple Terminal:设置 → 配置文件 → 键盘 → 勾选"使用 Option 作为 Meta 键"
- VS Code:在 VS Code 设置中设置
"terminal.integrated.macOptionIsMeta": true
有关详细信息,请参阅终端配置。
常规控制
| 快捷键 | 描述 | 上下文 |
|---|---|---|
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 和 WSL) |
从剪贴板粘贴图像 | 在光标处插入 [Image #N] 芯片,以便您可以在提示中按位置引用它。在 WSL 上,Ctrl+V 和 Alt+V 都被绑定;如果您的终端拦截 Ctrl+V,请使用 Alt+V |
Ctrl+B |
后台运行任务 | 后台运行 bash 命令和代理。Tmux 用户按两次 |
Ctrl+T |
切换任务列表 | 在终端状态区域中显示或隐藏任务列表 |
Left/Right arrows |
在对话框选项卡之间循环 | 在权限对话框和菜单中的选项卡之间导航 |
Up/Down arrows 或 Ctrl+P/Ctrl+N |
移动光标或导航命令历史 | 当输入跨越多个可视行时,无论是换行还是多行,首先在提示内移动光标。一旦光标在第一行或最后一行,再次按下会导航命令历史。{/* min-version: 2.1.169 */}从 v2.1.169 开始,换行的单行输入的行为与多行输入相同 |
Esc |
中断 Claude | 停止当前响应或工具调用中途,以便您可以重定向。Claude 保留迄今为止完成的工作 |
Esc + Esc |
清除输入草稿,或回退 | 当提示输入包含文本时,双 Esc 会清除它并将草稿保存到历史记录中,以便 Up 可以调用它。当输入为空时,双 Esc 会打开回退菜单以从上一个点恢复或总结代码和对话 |
Shift+Tab 或 Alt+M(某些配置) |
循环权限模式 | 在 default、acceptEdits、plan 和您启用的任何模式(如 auto 或 bypassPermissions)之间循环。请参阅权限模式。 |
Option+P(macOS)或 Alt+P(Windows/Linux) |
切换模型 | 在不清除提示的情况下切换模型 |
Option+T(macOS)或 Alt+T(Windows/Linux) |
切换扩展思考 | 启用或禁用扩展思考模式。对 Fable 5 无效,它始终使用扩展思考。{/* min-version: 2.1.132 */}从 v2.1.132 开始,此快捷键在 macOS 上无需配置 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、Devin Desktop、Alacritty 和 Zed,运行 /terminal-setup 以安装绑定。
快速命令
| 快捷键 | 描述 | 注释 |
|---|---|---|
/ 在开始 |
命令或 skill | 请参阅命令和 skills |
! 在开始 |
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 中键入 / 以查看所有可用命令,或键入 / 后跟任何字母以进行筛选。/ 菜单显示您可以调用的所有内容:内置命令、捆绑的和用户编写的 skills,以及由 plugins 和 MCP servers 贡献的命令。并非所有内置命令对每个用户都可见,因为某些命令取决于您的平台或计划。
有关 Claude Code 中包含的命令的完整列表,请参阅命令参考。
Vim 编辑器模式
通过 /config → 编辑器模式启用 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 动作 |
/ |
打开反向历史搜索,与 Ctrl+R 相同 |
在 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{ |
内部/周围大括号 |
可视模式
按 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 用户必须按 Ctrl+B 两次,因为 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 模式
通过在输入前加上 ! 来直接运行 bash 命令,无需通过 Claude:
! npm test
! git status
! ls -la
Shell 模式:
- 将命令及其输出添加到对话上下文
- 显示实时进度和输出
- 支持相同的
Ctrl+B后台运行长时间运行的命令 - 不需要 Claude 解释或批准命令
- 支持基于历史的自动完成:键入部分命令并按 Tab 以从当前项目中的上一个
!命令完成 - 使用
Escape、Backspace或在空提示上使用Ctrl+U退出 - 将以
!开头的文本粘贴到空提示中会自动进入 shell 模式,与键入的!行为相匹配
这对于快速 shell 操作同时保持对话上下文很有用。
提示建议
当您首次打开会话时,灰显的示例命令会出现在提示输入中以帮助您入门。Claude Code 从您的项目的 git 历史中选择此命令,因此它反映了您最近一直在处理的文件。
Claude 响应后,建议会根据您的对话历史继续出现,例如多部分请求的后续步骤或工作流的自然延续。
- 按 Tab 或 Right arrow 将建议放入提示输入中,然后按 Enter 提交
- 开始输入以关闭它
建议作为后台请求运行,该请求重用父对话的 prompt cache,因此额外成本最小。当缓存冷时,Claude Code 会跳过建议生成以避免不必要的成本。
在对话的第一轮之后以及在 Plan Mode 中,建议会自动跳过。在打印模式下,它们默认关闭。传递 --prompt-suggestions 与 --output-format stream-json --verbose 以在每轮之后发出 prompt_suggestion 消息。
要完全禁用提示建议,请设置环境变量或在 /config 中切换设置:
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
使用 /btw 的侧面问题
使用 /btw 快速提问您当前的工作,而不添加到对话历史。当您想要快速答案但不想混乱主要上下文或使 Claude 偏离长时间运行的任务时,这很有用。
/btw what was the name of that config file again?
侧面问题可以完全看到当前对话,因此您可以询问 Claude 已经读过的代码、它之前做出的决定或会话中的任何其他内容。问题和答案是短暂的:它们出现在可关闭的覆盖层中,永远不会进入对话历史。
- Claude 工作时可用:即使 Claude 正在处理响应时,您也可以运行
/btw。侧面问题独立运行,不会中断主要轮次。 - 无工具访问:侧面问题仅从已在上下文中的内容回答。Claude 在回答侧面问题时无法读取文件、运行命令或搜索。
- 单一响应:覆盖层中没有后续轮次。要继续该线程,请使用
f将其分叉到自己的会话中。 - 低成本:侧面问题重用父对话的提示缓存,因此额外成本最小。
答案出现后,覆盖层接受这些按键。来自同一会话的较早侧面问题显示为当前答案上方的暗淡列表;它们保持在对话历史之外,但在覆盖层中保持可见,直到您清除它们。
| 按键 | 操作 |
|---|---|
Space、Enter、Escape |
关闭答案并返回提示 |
Up / Down |
滚动答案 |
c |
将答案作为原始 Markdown 复制到您的剪贴板。使用此方法而不是鼠标选择,后者会捕获硬换行的终端呈现而不是源文本 |
f |
分叉到新会话。分叉继承父对话加上此问题和答案作为真实记录轮次,因此您可以继续使用完整工具访问。原始会话保留在 /resume 下。仅在本地会话中可用 |
x |
清除当前答案上方显示的较早 /btw 交换列表 |
/btw 是 subagent 的反面:它看到您的完整对话但没有工具,而 subagent 具有完整工具但从空上下文开始。使用 /btw 询问 Claude 从此会话已知的内容;使用 subagent 去发现新的东西。
任务列表
在处理复杂的多步骤工作时,Claude 会创建任务列表来跟踪进度。任务出现在终端的状态区域中,指示器显示待处理、进行中或完成的内容。
- 按
Ctrl+T切换任务列表视图。显示一次最多 5 个任务 - 要查看所有任务或清除它们,直接询问 Claude:"show me all tasks"或"clear all tasks"
- 任务在上下文压缩中持续存在,帮助 Claude 在较大的项目上保持组织
- 要在会话之间共享任务列表,请设置
CLAUDE_CODE_TASK_LIST_ID以使用~/.claude/tasks/中的命名目录:CLAUDE_CODE_TASK_LIST_ID=my-project claude
会话回顾
当您从离开后返回终端时,Claude Code 会显示到目前为止会话中发生的情况的单行回顾。回顾在后台生成,一旦自上次完成的轮次以来至少已经过了三分钟且终端未聚焦,就会生成,因此当您切换回来时已准备好。回顾仅在会话至少有三个轮次后出现,并且永远不会连续出现两次。
运行 /recap 以按需生成摘要。要关闭自动回顾,打开 /config 并禁用会话回顾。
会话回顾在每个计划和提供商上默认启用。回顾在非交互模式下始终被跳过。
PR 审查状态
在处理具有开放拉取请求的分支时,Claude Code 在页脚中显示可点击的 PR 链接(例如"PR #446")。该链接具有彩色下划线,指示审查状态:
- 绿色:已批准
- 黄色:待审查
- 红色:请求更改
- 灰色:草稿
拉取请求合并或关闭后,徽章消失。Cmd+click(Mac)或 Ctrl+click(Windows/Linux)点击链接以在浏览器中打开拉取请求。状态每 60 秒刷新一次,并在会话中运行 gh pr 或 git push 命令后立即刷新。
PR 状态需要安装并验证 gh CLI(gh auth login)。
另请参阅
- Skills - 自定义提示和工作流
- Checkpointing - 回退 Claude 的编辑并恢复以前的状态
- CLI 参考 - 命令行标志和选项
- 设置 - 配置选项
- 内存管理 - 管理 CLAUDE.md 文件