Docs 交互模式

交互模式

Claude Code 会话中键盘快捷键、输入模式和交互功能的完整参考。

Claude Code 会话中键盘快捷键、输入模式和交互功能的完整参考。

键盘快捷键

注意

键盘快捷键可能因平台和终端而异。按 ? 查看适合您的环境的可用快捷方式。

macOS 用户:Option/Alt 快捷键(Alt+BAlt+FAlt+YAlt+MAlt+P)需要在终端中将 Option 配置为 Meta:

  • iTerm2:设置 → 配置文件 → 键 → 将左/右选项键设置为“Esc+”
  • Terminal.app:设置→配置文件→键盘→选中“使用选项作为元键”
  • VS Code:设置 → 配置文件 → 键 → 将左/右选项键设置为“Esc+”

详情请参见终端配置

一般控制|快捷方式 |描述 |背景 |

| :------------------------------------------------ | :------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------- | | Ctrl+C |取消当前输入或生成 |标准中断| | Ctrl+F |杀死所有后台特工。 3秒内按两次确认 |后台代理控制| | Ctrl+D |退出 Claude Code 会话 | EOF信号| | Ctrl+G |在默认文本编辑器中打开 |在默认文本编辑器中编辑提示或自定义响应 | | Ctrl+L |清除终端屏幕 |保留对话历史记录 | | Ctrl+O |切换详细输出 |显示详细的工具使用和执行 | | Ctrl+R |反向搜索命令历史记录 |以交互方式搜索以前的命令 | | Ctrl+VCmd+V (iTerm2) 或 Alt+V (Windows) |从剪贴板粘贴图像 |粘贴图像或图像文件的路径 | | Ctrl+B |后台运行任务|后台 bash 命令和代理。 Tmux 用户按两次 | | Ctrl+T |切换任务列表|在终端状态区显示或隐藏任务列表 | | Left/Right arrows |循环浏览对话框选项卡 |在权限对话框和菜单中的选项卡之间导航 | | Up/Down arrows |导航命令历史记录 |调用之前的输入 || Esc + Esc |倒带或总结 |将代码和/或对话恢复到之前的点,或从选定的消息中进行总结 | | Shift+TabAlt+M(某些配置)|切换权限模式 |在自动接受模式、Plan Mode 和正常模式之间切换。 | | Option+P (macOS) 或 Alt+P (Windows/Linux) |切换模型|无需清除提示即可切换模型 | | Option+T (macOS) 或 Alt+T (Windows/Linux) |切换扩展思维 |启用或禁用扩展思维模式。首先运行 /terminal-setup 以启用此快捷方式 |### 文本编辑

快捷方式描述背景
Ctrl+K删除至行尾存储删除的文本以进行粘贴
Ctrl+U删除整行存储删除的文本以进行粘贴
Ctrl+Y粘贴删除的文本粘贴用 Ctrl+KCtrl+U 删除的文本
Alt+YCtrl+Y 之后)循环粘贴历史粘贴后,循环浏览之前删除的文本。需要 macOS 上的 选项作为元
Alt+B将光标向后移动一个字词导航。需要 macOS 上的 选项作为元
Alt+F将光标向前移动一个字词导航。需要 macOS 上的 选项作为元

主题和显示

|快捷方式|描述 |背景 | | :----- | :------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------ | | Ctrl+T |切换代码块的语法突出显示 |仅适用于 /theme 选择器菜单。控制 Claude 响应中的代码是否使用语法着色 |

注意

语法突出显示仅在 Claude Code 的本机版本中可用。

多行输入

|方法|快捷方式|背景 | | :-------------- | :------------- | :------------------------------------------------------ | |快速逃脱| \ + Enter |适用于所有航站楼 | | macOS 默认 | Option+Enter | macOS 上的默认设置 | | Shift+Enter | Shift+Enter |在 iTerm2、WezTerm、Ghostty、Kitty 中开箱即用 | |控制顺序| Ctrl+J |多行换行符 | |粘贴模式 |直接粘贴|对于代码块,日志 |

提示

Shift+Enter 在 iTerm2、WezTerm、Ghostty 和 Kitty 中无需配置即可工作。对于其他终端(VS Code、Alacritty、Zed、Warp),运行 /terminal-setup 以安装绑定。

快速命令|快捷方式 |描述 |笔记|

| :---------- | :---------------- | :-------------------------------------------------------------------------------- | | / 开始 |命令或技能 |请参阅内置命令技能 | | ! 开始 |重击模式 |直接运行命令并将执行输出添加到会话中 | | @ |文件路径提及|触发文件路径自动完成 |

语音输入

|快捷方式 |描述 |笔记| | :---------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |持有 Space |一键通听写 |需要启用语音听写。文字记录插入到光标处。 可重新绑定 |

内置命令

在 Claude Code 中键入 / 以查看所有可用命令,或键入 / 后跟要过滤的任何字母。 / 菜单像 /simplify 一样显示内置命令和捆绑技能。并非所有命令对每个用户都可见,因为有些命令取决于您的平台或计划。

有关内置命令的完整列表,请参阅命令参考。要创建您自己的命令,请参阅技能

Vim 编辑器模式

使用 /vim 命令启用 vim 式编辑或通过 /config 进行永久配置。

模式切换

命令行动从模式
Esc进入正常模式插入
i在光标前插入正常
I在行首插入正常
a在光标后插入正常
A在行尾插入正常
o打开下面的行正常
O上面开线正常

导航(正常模式)|命令 |行动|

| :-------------- | :-------------------------------------------------- | | h/j/k/l |向左/下/上/右移动 | | w |下一个字 | | e |词末| | b |上一个字 | | 0 |行首 | | $ |行尾| | ^ |第一个非空白字符 | | gg |输入开始 | | G |输入结束 | | f{char} |跳转到下一个出现的字符 | | F{char} |跳转到上一个出现的字符 | | t{char} |跳转到下一个出现的字符之前 | | T{char} |跳转到上一个出现的字符之后 | | ; |重复最后的 f/F/t/T 动作 | | , |反向重复最后一个 f/F/t/T 动作 |

注意

在 vim 正常模式下,如果光标位于输入的开头或结尾并且无法进一步移动,则使用箭头键导航命令历史记录。

编辑(正常模式)

命令行动
x删除字符
dd删除行
D删除至行尾
dw/de/db删除单词/结束/返回
cc换线
C更改为行尾
cw/ce/cb更改单词/结束/返回
yy/Y复制(复制)线
yw/ye/yb猛拉单词/结束/返回
p在光标后粘贴
P在光标前粘贴
>>缩进线
<<下凹线
J加入线路
.重复上次更改

文本对象(正常模式)

文本对象可与 dcy 等运算符配合使用:|命令 |行动| | :-------- | :---------------------------------------- | | iw/aw |内/周围字 | | iW/aW |内部/周围 WORD(空格分隔)| | i"/a" |内部/周围双引号 | | i'/a' |内部/周围单引号 | | i(/a( |内/括号 | | i[/a[ |内/周围括号 | | i{/a{ |内/周围牙套 |

命令历史

Claude Code 维护当前会话的命令历史记录:

  • 输入历史记录按工作目录存储
  • 当您运行 /clear 开始新会话时,输入历史记录会重置。先前会话的对话将被保留并可以恢复。
  • 使用向上/向下箭头进行导航(请参阅上面的键盘快捷键)
  • 注意:历史扩展(!)默认禁用

使用 Ctrl+R 反向搜索

Ctrl+R 以交互方式搜索命令历史记录:

  1. 开始搜索:按Ctrl+R激活反向历史搜索
  2. 键入查询:输入要在之前命令中搜索的文本。搜索词在匹配结果中突出显示
  3. 导航比赛:再次按 Ctrl+R 循环浏览较旧的比赛
  4. 接受匹配
    • TabEsc 接受当前匹配并继续编辑
    • Enter立即接受并执行命令
  5. 取消搜索
    • Ctrl+C 取消并恢复原始输入
    • 在空搜索上按 Backspace 取消

搜索会显示匹配的命令,并突出显示搜索词,以便您可以查找并重复使用以前的输入。

后台 bash 命令

Claude Code 支持在后台运行 bash 命令,允许您在执行长时间运行的进程时继续工作。

背景如何工作

当 Claude Code 在后台运行命令时,它会异步运行该命令并立即返回后台任务 ID。 Claude Code 可以响应新的提示,同时命令继续在后台执行。

要在后台运行命令,您可以:

  • 提示Claude Code在后台运行命令
  • 按 Ctrl+B 将常规 Bash 工具调用移至后台。 (由于 tmux 的前缀键,Tmux 用户必须按 Ctrl+B 两次。)

主要特点:

  • 输出被缓冲,Claude 可以使用 TaskOutput 工具检索它
  • 后台任务有唯一的ID用于跟踪和输出检索
  • Claude Code退出时自动清理后台任务
  • 如果输出超过 5GB,后台任务将自动终止,并在 stderr 中注释解释原因

要禁用所有后台任务功能,请将 CLAUDE_CODE_DISABLE_BACKGROUND_TASKS 环境变量设置为 1。有关详细信息,请参阅环境变量

常用后台命令:* 构建工具(webpack、vite、make)

  • 包管理器(npm、yarn、pnpm)
  • 测试运行程序(jest、pytest)
  • 开发服务器
  • 长时间运行的进程(docker、terraform)

带有 ! 前缀的 Bash 模式

通过在输入中添加 ! 前缀,直接运行 bash 命令,无需经过 Claude:

! npm test
! git status
! ls -la

Bash 模式:

  • 将命令及其输出添加到对话上下文中
  • 显示实时进度和输出
  • 支持长时间运行命令的相同 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 what was the name of that config file again?

附带问题可以全面了解当前对话,因此您可以询问 Claude 已阅读的代码、其之前做出的决定或会话中的任何其他内容。问题和答案是短暂的:它们出现在可忽略的覆盖层中,并且永远不会进入对话历史记录。

  • 在 Claude 工作时可用:即使 Claude 正在处理响应,您也可以运行 /btw。支线问题独立运行,不中断主线转弯。
  • 无法访问工具:附带问题仅根据上下文中已有的内容进行回答。 Claude 在回答附带问题时无法读取文件、运行命令或搜索。
  • 单一响应:没有后续回合。如果您需要来回询问,请使用普通提示。
  • 低成本:支线问题重用了父对话的提示缓存,因此额外的成本最小。

SpaceEnterEscape 忽略答案并返回提示。/btw子代理 的反面:它可以看到您的完整对话,但没有工具,而子代理具有完整的工具,但从空上下文开始。使用 /btw 询问 Claude 从本次会话中已经知道的内容;使用子代理去寻找新的东西。

任务列表

当处理复杂、多步骤的工作时,Claude 会创建一个任务列表来跟踪进度。任务显示在终端的状态区域中,并带有显示待处理、正在进行或已完成的任务的指示器。

  • Ctrl+T 切换任务列表视图。显示屏一次最多显示 10 个任务
  • 要查看或清除所有任务,请直接询问 Claude:“显示所有任务”或“清除所有任务”
  • 任务在上下文压缩中持续存在,帮助 Claude 在大型项目中保持组织性
  • 要跨会话共享任务列表,请将 CLAUDE_CODE_TASK_LIST_ID 设置为使用 ~/.claude/tasks/ 中的命名目录:CLAUDE_CODE_TASK_LIST_ID=my-project claude

PR审核状态

在处理具有开放拉取请求的分支时,Claude Code 在页脚中显示可单击的 PR 链接(例如“PR #446”)。该链接有一条彩色下划线,指示审核状态:

  • 绿色:已批准
  • 黄色:待审核
  • 红色:请求更改
  • 灰色:草稿
  • 紫色:合并

Cmd+click (Mac) 或 Ctrl+click (Windows/Linux) 用于在浏览器中打开拉取请求的链接。状态每 60 秒自动更新一次。

注意

PR 状态需要安装 gh CLI 并进行身份验证 (gh auth login)。

另请参阅