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+BAlt+FAlt+YAlt+MAlt+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+GCtrl+X Ctrl+E 在默认编辑器打开 用默认编辑器编辑提示词或响应。Ctrl+X Ctrl+E 是 readline 原生绑定。在 /config 中开启"在外部编辑器中显示最后一条回复"后,Claude 上一轮回复会以 # 注释形式附在提示词上方,保存时自动去掉注释块
Ctrl+L 重绘屏幕 强制全终端重绘,保留输入和对话历史。显示混乱或部分空白时可用
Ctrl+O 切换转录查看器 显示详细的工具调用和执行过程。MCP 调用默认折叠为一行(如 “Called slack 3 times”),切换后展开
Ctrl+R 反向搜索命令历史 交互式搜索历史命令
Ctrl+VCmd+V (iTerm2) 或 Alt+V (Windows) 从剪贴板粘贴图片 在光标处插入 [Image #N] 标签,可在提示词中按位置引用
Ctrl+B 将任务移至后台 将 bash 命令和代理置入后台运行。tmux 用户需按两次
Ctrl+T 切换任务列表 显示或隐藏终端状态区域的任务列表
左/右箭头 在对话框标签页间切换 在权限对话框和菜单的标签页间导航
上/下箭头Ctrl+P/Ctrl+N 移动光标或导航命令历史 多行输入时,首次按会移动光标到提示框内。光标已在顶部或底部后,再次按下会切换到命令历史导航
Esc 中断 Claude 停止当前响应或工具调用,Claude 保留已完成的工作
Esc + Esc 清空输入草稿或回退 提示框有内容时,按两次清除并保存草稿到历史(上箭头可召回)。提示框为空时,两次按打开回退菜单,恢复或总结之前状态
Shift+TabAlt+M (部分配置) 切换权限模式 defaultacceptEditsplan 以及已启用的 autobypassPermissions 之间切换。详见权限模式
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+KCtrl+UCtrl+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 打开。需要全屏渲染模式
qCtrl+CEsc 退出转录视图。三个快捷键均可通过 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 模式文本对象

文本对象配合 dcy 等操作符使用:

命令 动作
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 可交互式搜索命令历史:

  1. 开始搜索:按 Ctrl+R 激活反向历史搜索
  2. 输入查询:输入文本搜索历史命令,匹配项高亮显示
  3. 切换匹配:再次按 Ctrl+R 循环查看更早的匹配
  4. 切换搜索范围:默认搜索所有项目的提示词。按 Ctrl+S 切换范围为:当前会话、当前项目、所有项目
  5. 接受匹配
    • TabEsc 接受匹配,继续编辑
    • Enter 接受并立即执行
  6. 取消搜索
    • 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 可从当前项目之前执行的 ! 命令中补全
  • 空提示框下按 EscapeBackspaceCtrl+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 不能读取文件、运行命令或搜索
  • 单次响应:不支持多轮对话。如需多轮,请使用普通提示词
  • 低成本:侧边提问复用父会话的提示缓存,附加成本极低

SpaceEnterEscape 关闭答案,返回提示框。

/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 prgit push 命令后立即刷新。

PR 状态需要安装并认证 gh CLI(gh auth login)。

常见问题

Claude Code 交互模式下怎么输入多行代码?

多行输入有多种方式:所有终端可用 \ + Enter;macOS 上可用 Option+EnterShift+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 低成本不打断主任务。