{/* TRANSLATED — 已翻译为中文 */}

> ## 文档索引
> 在此处获取完整文档索引：https://code.claude.com/docs/llms.txt
> 使用此文件发现所有可用页面，然后再进一步探索。

# 交互模式

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

## 键盘快捷键

<Note>
  键盘快捷键可能因平台和终端而异。在[全屏渲染](/en/fullscreen)模式下，在转录查看器中按 `?` 可查看该处可用的快捷键。

  **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`

  详见[终端配置](/en/terminal-config)。
</Note>

### 常规控制

| 快捷键                                            | 描述                                                                                                                                                       | 上下文                                                                                                                                                                                                                                                                                                 |
| :------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Ctrl+C`                                          | 中断或清除输入                                                                                                                                             | 中断正在运行的操作。如果没有正在运行的操作，第一次按会清除提示输入，第二次按会退出 Claude Code                                                                                                                                                                                                           |
| `Ctrl+X Ctrl+K`                                   | 终止此会话中所有正在运行的[后台子代理](/en/sub-agents#run-subagents-in-foreground-or-background)。3 秒内按两次确认                                           | 子代理控制                                                                                                                                                                                                                                                                                             |
| `Ctrl+D`                                          | 退出 Claude Code 会话                                                                                                                                      | EOF 信号                                                                                                                                                                                                                                                                                               |
| `Ctrl+G` 或 `Ctrl+X Ctrl+E`                       | 在默认文本编辑器中打开                                                                                                                                     | 在默认文本编辑器中编辑提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中开启"在外部编辑器中显示最后一条响应"可将 Claude 的上一条回复作为 `#` 注释上下文添加到提示上方；保存时注释块会被移除                                                                                          |
| `Ctrl+L`                                          | 重绘屏幕                                                                                                                                                   | 强制完全重绘终端。保留输入和对话历史。当显示变得混乱或部分空白时使用此快捷键恢复                                                                                                                                                                                                                        |
| `Ctrl+O`                                          | 切换转录查看器                                                                                                                                             | 显示详细的工具使用和执行信息。还会展开 MCP 调用，MCP 调用默认折叠为单行（如"Called slack 3 times"）                                                                                                                                                                                                      |
| `Ctrl+R`                                          | 反向搜索命令历史                                                                                                                                           | 交互式搜索之前的命令                                                                                                                                                                                                                                                                                   |
| `Ctrl+V` 或 `Cmd+V`（iTerm2）或 `Alt+V`（Windows） | 从剪贴板粘贴图片                                                                                                                                           | 在光标处插入一个 `[Image #N]` 芯片，以便在提示中按位置引用                                                                                                                                                                                                                                             |
| `Ctrl+B`                                          | 后台运行任务                                                                                                                                               | 将 bash 命令和代理放入后台。Tmux 用户按两次                                                                                                                                                                                                                                                            |
| `Ctrl+T`                                          | 切换任务列表                                                                                                                                               | 在终端状态区域显示或隐藏[任务列表](#task-list)                                                                                                                                                                                                                                                         |
| `左/右方向键`                                      | 循环切换对话框标签页                                                                                                                                       | 在权限对话框和菜单中的标签页之间导航                                                                                                                                                                                                                                                                   |
| `上/下方向键` 或 `Ctrl+P`/`Ctrl+N`                 | 移动光标或导航命令历史                                                                                                                                     | 在多行输入中，首先在提示内移动光标。当光标已在顶部或底部边缘时，再次按会导航命令历史                                                                                                                                                                                                                    |
| `Esc`                                             | 中断 Claude                                                                                                                                                | 在当前回合中停止当前响应或工具调用，以便你可以重定向。Claude 保留到目前为止已完成的工作                                                                                                                                                                                                                  |
| `Esc` + `Esc`                                     | 清除输入草稿或回退                                                                                                                                         | 当提示输入包含文本时，双击 `Esc` 会清除它并将草稿保存到历史中，以便 `Up` 可以调出它。当输入为空时，双击 `Esc` 会打开[回退菜单](/en/checkpointing)以恢复或总结之前的代码和对话                                                                                                                            |
| `Shift+Tab` 或 `Alt+M`（某些配置）                 | 循环切换权限模式                                                                                                                                           | 循环切换 `default`、`acceptEdits`、`plan` 以及你已启用的任何模式，如 `auto` 或 `bypassPermissions`。参见[权限模式](/en/permission-modes)                                                                                                                                                                |
| `Option+P`（macOS）或 `Alt+P`（Windows/Linux）     | 切换模型                                                                                                                                                   | 在不清除提示的情况下切换模型                                                                                                                                                                                                                                                                           |
| `Option+T`（macOS）或 `Alt+T`（Windows/Linux）     | 切换扩展思考                                                                                                                                               | 启用或禁用扩展思考模式。{/* min-version: 2.1.132 */}自 v2.1.132 起，此快捷键在 macOS 上无需将 Option 配置为 Meta 即可使用                                                                                                                                                                               |
| `Option+O`（macOS）或 `Alt+O`（Windows/Linux）     | 切换快速模式                                                                                                                                               | 启用或禁用[快速模式](/en/fast-mode)                                                                                                                                                                                                                                                                    |

### 文本编辑

| 快捷键                   | 描述                         | 上下文                                                                                                                                                                                 |
| :----------------------- | :--------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `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](#keyboard-shortcuts)                                                                                             |
| `Alt+B`                  | 光标后退一个单词             | 单词导航。在 macOS 上需要[将 Option 配置为 Meta](#keyboard-shortcuts)                                                                                                                   |
| `Alt+F`                  | 光标前进一个单词             | 单词导航。在 macOS 上需要[将 Option 配置为 Meta](#keyboard-shortcuts)                                                                                                                   |

### 主题和显示

| 快捷键   | 描述                       | 上下文                                                                                                         |
| :------- | :------------------------- | :------------------------------------------------------------------------------------------------------------- |
| `Ctrl+T` | 切换代码块的语法高亮       | 仅在 `/theme` 选择器菜单内有效。控制 Claude 响应中的代码是否使用语法着色                                       |

### 多行输入

| 方式           | 快捷键         | 上下文                                                                                               |
| :------------- | :------------- | :--------------------------------------------------------------------------------------------------- |
| 快速换行       | `\` + `Enter`  | 在所有终端中有效                                                                                     |
| Option 键      | `Option+Enter` | 在 macOS 上启用 [Option 作为 Meta](/en/terminal-config#enable-option-key-shortcuts-on-macos) 后       |
| Shift+Enter    | `Shift+Enter`  | 在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 中原生支持               |
| 控制序列       | `Ctrl+J`       | 无需配置即可在任何终端中使用                                                                         |
| 粘贴模式       | 直接粘贴       | 适用于代码块、日志                                                                                   |

<Tip>
  Shift+Enter 无需配置即可在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal 和 Windows Terminal 中使用。对于 VS Code、Cursor、Windsurf、Alacritty 和 Zed，运行 `/terminal-setup` 安装绑定。
</Tip>

### 快捷命令

| 快捷键       | 描述         | 备注                                                          |
| :----------- | :----------- | :------------------------------------------------------------ |
| 开头输入 `/` | 命令或技能   | 参见[命令](#commands)和[技能](/en/skills)                     |
| 开头输入 `!` | Shell 模式   | 直接运行命令并将执行输出添加到会话中                          |
| `@`          | 文件路径提及 | 触发文件路径自动补全                                          |

### 转录查看器

当转录查看器打开时（通过 `Ctrl+O` 切换），以下快捷键可用。在[全屏渲染](/en/fullscreen)模式下，按 `?` 可在查看器内显示完整的快捷键参考面板。`Ctrl+E` 可以通过 [`transcript:toggleShowAll`](/en/keybindings) 重新绑定。

| 快捷键                 | 描述                                                                                                                                                                                                                     |
| :--------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `?`                    | 切换键盘快捷键帮助面板。需要[全屏渲染](/en/fullscreen)模式                                                                                                                                                               |
| `{` / `}`              | 跳转到上一个或下一个用户提示，类似 vim 段落移动。需要[全屏渲染](/en/fullscreen)模式                                                                                                                                      |
| `Ctrl+E`               | 切换显示所有内容                                                                                                                                                                                                         |
| `[`                    | 将完整对话写入终端的原生回滚缓冲区，以便 `Cmd+F`、tmux 复制模式和其他原生工具可以搜索。需要[全屏渲染](/en/fullscreen#search-and-review-the-conversation)模式                                                             |
| `v`                    | 将对话写入临时文件并在 `$VISUAL` 或 `$EDITOR` 中打开。需要[全屏渲染](/en/fullscreen)模式                                                                                                                                 |
| `q`、`Ctrl+C`、`Esc`   | 退出转录视图。这三个都可以通过 [`transcript:exit`](/en/keybindings) 重新绑定                                                                                                                                              |

### 语音输入

| 快捷键              | 描述         | 备注                                                                                                                                                                             |
| :------------------ | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 长按或点击 `Space`  | 语音听写     | 需要启用[语音听写](/en/voice-dictation)。长按录音，或运行 `/voice tap` 以点击切换。[可重新绑定](/en/voice-dictation#rebind-the-dictation-key)                                     |

## 命令

在 Claude Code 中输入 `/` 可查看所有可用命令，或输入 `/` 后跟任何字母进行过滤。`/` 菜单显示你可以调用的所有内容：内置命令、捆绑和用户编写的[技能](/en/skills)，以及由[插件](/en/plugins)和 [MCP 服务器](/en/mcp#use-mcp-prompts-as-commands)提供的命令。并非所有内置命令对每个用户都可见，因为某些命令取决于你的平台或计划。

参见[命令参考](/en/commands)获取 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 移动                       |

<Note>
  在 vim 普通模式下，如果光标在输入的开头或末尾且无法继续移动，`j`/`k` 和方向键将改为导航命令历史。
</Note>

### 编辑（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` 开始新会话时输入历史会重置。之前会话的对话被保留并可恢复
* 连续两次提交相同的提示只记录一个历史条目，因此按 Up 会跳转到上一个不同的提示
* 使用上/下方向键导航（参见上面的键盘快捷键）
* **注意**：历史扩展（`!`）默认禁用

### 使用 Ctrl+R 反向搜索

按 `Ctrl+R` 交互式搜索命令历史：

1. **开始搜索**：按 `Ctrl+R` 激活反向历史搜索
2. **输入查询**：输入要在之前命令中搜索的文本。搜索词在匹配结果中高亮显示
3. **导航匹配**：再次按 `Ctrl+R` 循环浏览更早的匹配
4. **更改范围**：搜索默认为所有项目的提示。按 `Ctrl+S` 在此会话、此项目和所有项目之间循环切换范围
5. **接受匹配**：
   * 按 `Tab` 或 `Esc` 接受当前匹配并继续编辑
   * 按 `Enter` 接受并立即执行命令
6. **取消搜索**：
   * 按 `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`。详见[环境变量](/en/env-vars)。

**常见的后台命令：**

* 构建工具（webpack、vite、make）
* 包管理器（npm、yarn、pnpm）
* 测试运行器（jest、pytest）
* 开发服务器
* 长时间运行的进程（docker、terraform）

### 使用 `!` 前缀的 Shell 模式

通过在输入前加上 `!` 直接运行 shell 命令，无需通过 Claude：

```bash theme={null}
! npm test
! git status
! ls -la
```

Shell 模式：

* 将命令及其输出添加到对话上下文
* 显示实时进度和输出
* 支持相同的 `Ctrl+B` 后台运行长时间命令
* 不需要 Claude 解释或批准命令
* 支持基于历史的自动补全：输入部分命令并按 **Tab** 从当前项目中之前的 `!` 命令补全
* 在空提示时使用 `Escape`、`Backspace` 或 `Ctrl+U` 退出
* 将以 `!` 开头的文本粘贴到空提示中会自动进入 shell 模式，与输入 `!` 的行为一致

这对于在保持对话上下文的同时进行快速 shell 操作非常有用。

## 提示建议

首次打开会话时，提示输入中会出现一个灰色的示例命令，帮助你入门。Claude Code 从项目的 git 历史中选择此命令，因此它反映你最近一直在处理的文件。

Claude 响应后，建议会根据你的对话历史继续出现，例如多部分请求的后续步骤或工作流的自然延续。

* 按 **Tab** 或 **右方向键** 将建议放入提示输入，然后按 **Enter** 提交
* 开始输入以关闭建议

建议作为后台请求运行，复用父对话的提示缓存，因此额外成本很小。当缓存未命中时，Claude Code 会跳过建议生成以避免不必要的成本。

建议在对话的第一回合之后、非交互模式和计划模式下会自动跳过。

要完全禁用提示建议，设置环境变量或在 `/config` 中切换设置：

```bash theme={null}
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 在回答旁问时无法读取文件、运行命令或搜索。
* **单次响应**：没有后续回合。如果你需要来回交流，请改用正常提示。
* **低成本**：旁问复用父对话的提示缓存，因此额外成本很小。

按 **Space**、**Enter** 或 **Escape** 关闭答案并返回提示。

`/btw` 与[子代理](/en/sub-agents)相反：它看到你的完整对话但没有工具，而子代理拥有完整工具但从空上下文开始。使用 `/btw` 询问 Claude 从本次会话中已知的内容；使用子代理去发现新内容。

## 任务列表

在处理复杂的多步骤工作时，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` 命令后立即刷新。

<Note>
  PR 状态需要安装并认证 `gh` CLI（`gh auth login`）。
</Note>

## 另请参阅

* [技能](/en/skills) - 自定义提示和工作流
* [检查点](/en/checkpointing) - 回退 Claude 的编辑并恢复之前的状态
* [CLI 参考](/en/cli-reference) - 命令行标志和选项
* [设置](/en/settings) - 配置选项
* [内存管理](/en/memory) - 管理 CLAUDE.md 文件
