7> Claude Code 会话中键盘快捷键、输入模式和交互功能的完整参考。7> Claude Code 会话中键盘快捷键、输入模式和交互功能的完整参考。
8 8
9<h2 id="keyboard-shortcuts">9<h2 id="keyboard-shortcuts">
10 键盘快捷键10 快捷键
11</h2>11</h2>
12 12
13<Note>13<Note>
14 键盘快捷键可能因平台和终端而异。在[全屏渲染](/docs/zh-CN/fullscreen)中,在转录查看器中按 `?` 查看可用的快捷键。14 快捷键可能因平台和终端而异。在[全屏渲染](/docs/zh-CN/fullscreen)中,在记录查看器中按 `?` 查看可用的快捷键。
15 15
16 **macOS 用户**:Option/Alt 键快捷键(`Alt+B`、`Alt+F`、`Alt+Y`、`Alt+M`、`Alt+P`)需要在终端中将 Option 配置为 Meta:16 **macOS 用户**:Option/Alt 键快捷键(`Alt+B`、`Alt+F`、`Alt+D`、`Alt+Y`、`Alt+P`)需要在终端中将 Option 配置为 Meta。请参阅[在 macOS 上启用 Option 键快捷键](/docs/zh-CN/terminal-config#enable-option-key-shortcuts-on-macos)了解每个终端中的设置。
17
18 * **iTerm2**:设置 → 配置文件 → 键 → 常规 → 将左/右 Option 键设置为"Esc+"
19 * **Apple Terminal**:设置 → 配置文件 → 键盘 → 勾选"使用 Option 作为 Meta 键"
20 * **VS Code**:在 VS Code 设置中设置 `"terminal.integrated.macOptionIsMeta": true`
21
22 有关详细信息,请参阅[终端配置](/docs/zh-CN/terminal-config)。
23</Note>17</Note>
24 18
25<h3 id="general-controls">19<h3 id="general-controls">
27</h3>21</h3>
28 22
29| 快捷键 | 描述 | 上下文 |23| 快捷键 | 描述 | 上下文 |
30| :------------------------------------------------- | :------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------ |24| :------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
31| `Ctrl+C` | 中断,或清除输入 | 中断正在运行的操作。如果没有任何操作在运行,第一次按下会清除提示输入,第二次按下会退出 Claude Code |25| `Ctrl+C` | 中断或清除输入 | 中断正在运行的操作。如果没有任何操作在运行,第一次按下会清除提示输入,第二次按下会退出 Claude Code |
32| `Ctrl+X Ctrl+K` | 终止此会话中所有运行的[后台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background)。在 3 秒内按两次以确认 | 子代理控制 |26| `Ctrl+X Ctrl+K` | 停止此会话中所有正在运行的[后台子代理](/docs/zh-CN/sub-agents#run-subagents-in-foreground-or-background),并关闭[工件自动回复](/docs/zh-CN/artifacts#let-claude-reply-to-comments-on-its-own)。在 3 秒内按两次以确认 | 子代理控制 |
33| `Ctrl+D` | 退出 Claude Code 会话 | EOF 信号 |27| `Ctrl+D` | 退出 Claude Code 会话 | 第一次按下显示确认提示,第二次在 800ms 内按下会退出。当提示有文本时,`Ctrl+D` 会删除光标后的字符 |
34| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑您的提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中打开"在外部编辑器中显示最后响应"以在您的提示上方将 Claude 的上一个回复作为 `#` 注释上下文预置;保存时会删除注释块 |28| `Ctrl+G` 或 `Ctrl+X Ctrl+E` | 在默认文本编辑器中打开 | 在默认文本编辑器中编辑您的提示或自定义响应。`Ctrl+X Ctrl+E` 是 readline 原生绑定。在 `/config` 中打开**在外部编辑器中显示最后一个响应**,以在您的提示上方将 Claude 的前一个回复作为 `#` 注释上下文预置;Claude Code 在您保存时会删除注释块 |
35| `Ctrl+L` | 重绘屏幕 | 强制完整的终端重绘。输入和对话历史被保留。使用此功能可在显示变得混乱或部分空白时恢复 |29| `Ctrl+L` | 重绘或清除屏幕 | 强制完整的终端重绘,保持输入和对话历史。如果显示变得混乱或部分空白,请使用此选项恢复。在[全屏渲染](/docs/zh-CN/fullscreen#clear-the-conversation)中,它也会清除屏幕,您可以向上滚动查看早期消息 |
36| `Ctrl+O` | 切换转录查看器 | 显示详细的工具使用和执行情况,每个助手消息上都有时间戳和使用的模型。还会展开 MCP 调用,这些调用默认会折叠为单行,如"Called slack 3 times" |30| `Ctrl+O` | 切换记录查看器 | 显示详细的工具使用和执行情况,每条助手消息上都有时间戳和使用的模型。还会展开默认折叠的行,例如 MCP 调用,显示为单个 `Called slack 3 times` 行,以及[来自您其他会话的消息](/docs/zh-CN/cross-session-messaging#what-a-message-looks-like),显示为单行 `Message from @<sender>` 预览 |
37| `Ctrl+R` | 反向搜索命令历史 | 交互式搜索以前的命令 |31| `Ctrl+R` | 反向搜索命令历史 | 交互式搜索以前的命令 |
38| `Ctrl+V` 或 `Cmd+V`(iTerm2)或 `Alt+V`(Windows 和 WSL) | 从剪贴板粘贴图像 | 在光标处插入 `[Image #N]` 芯片,以便您可以在提示中按位置引用它。在 WSL 上,`Ctrl+V` 和 `Alt+V` 都被绑定;如果您的终端拦截 `Ctrl+V`,请使用 `Alt+V` |32| `Ctrl+V` 或 `Cmd+V`(iTerm2)或 `Alt+V`(Windows 和 WSL) | 从剪贴板粘贴图像 | 在光标处插入 `[Image #N]` 芯片,以便您可以在提示中按位置引用它。在 WSL 上,`Ctrl+V` 和 `Alt+V` 都被绑定;如果您的终端拦截 `Ctrl+V`,请使用 `Alt+V` |
39| `Ctrl+B` | 后台运行任务 | 后台运行 Bash 命令和代理。Tmux 用户按两次 |33| `Ctrl+B` | 后台运行任务 | 后台运行 Bash 命令和代理。Tmux 用户按两次 |
40| `Ctrl+T` | 切换 Claude 的任务清单 | 在状态区域中显示或隐藏 [Claude 的待办事项清单](#task-list)。这不是后台任务视图;使用 [`/tasks`](/docs/zh-CN/commands) 查看运行的 shell 和子代理 |34| `Ctrl+T` | 切换 Claude 的任务清单 | 在状态区域中显示或隐藏 [Claude 的待办事项清单](#task-list)。这不是后台任务视图;使用 [`/tasks`](/docs/zh-CN/commands) 查看运行的 shell 和子代理 |
35| `Ctrl+S` | 隐藏或恢复提示 | 输入中有文本时,隐藏它并清除提示。在空提示上再次按下时,恢复隐藏的文本、光标位置和粘贴的内容 |
36| `Ctrl+Z` | 暂停 Claude Code | 仅限 Unix。将进程暂停到您的 shell;运行 `fg` 以恢复 |
41| `Left/Right arrows` | 在对话框选项卡之间循环 | 在权限对话框和菜单中的选项卡之间导航 |37| `Left/Right arrows` | 在对话框选项卡之间循环 | 在权限对话框和菜单中的选项卡之间导航 |
42| `Up/Down arrows` 或 `Ctrl+P`/`Ctrl+N` | 移动光标或导航命令历史 | 当输入跨越多个可视行时,无论是换行还是多行,首先在提示内移动光标。一旦光标在第一行或最后一行,再次按下会导航命令历史。从 v2.1.169 开始,换行的单行输入的行为与多行输入相同 |38| `Tab` | 接受自动完成建议,或向权限答案添加注释 | 当自动完成建议在提示输入中显示时,接受选定的建议。在大多数权限提示上,当**是**或**否**获得焦点时,在该选项上打开注释字段,再次按下会关闭该字段。请参阅[在回答权限提示时添加注释](/docs/zh-CN/permissions#add-a-comment-when-you-answer-a-permission-prompt) |
43| `Esc` | 中断 Claude,或关闭对话框 | 停止当前响应或工具调用中途,以便您可以重定向。Claude 保留迄今为止完成的工作。当权限提示等对话框打开时,`Esc` 关闭对话框而不是中断 Claude。在 v2.1.202 之前,某些对话框上的 `Esc` 会中断 Claude 并保持对话框打开 |39| `Up/Down arrows` 或 `Ctrl+P`/`Ctrl+N` | 移动光标或导航命令历史 | 当输入跨越多个可视行时,无论是换行还是多行,首先在提示中移动光标。一旦光标在第一行或最后一行,再次按下会导航命令历史。当您有排队的消息时,从第一行按 `Up` 会[取回它们](#take-back-what-you-queued) |
44| `Esc` + `Esc` | 清除输入草稿,或回退 | 当提示输入包含文本时,双 `Esc` 会清除它并将草稿保存到历史记录中,以便 `Up` 可以调用它。当输入为空时,双 `Esc` 会打开[回退菜单](/docs/zh-CN/checkpointing)以从上一个点恢复或总结代码和对话 |40| `Esc` | 中断 Claude 或关闭对话框 | 停止当前响应或工具调用中途,以便您可以重定向。Claude 保留迄今为止所做的工作。如果您有[排队的消息](#queue-messages-while-claude-works),Claude Code 会在下一步发送它们。当对话框打开时,`Esc` 会关闭对话框。在权限提示上,`Esc` 会拒绝该操作,与[**否**不带注释](/docs/zh-CN/permissions#add-a-comment-when-you-answer-a-permission-prompt)相同 |
45| `Shift+Tab` 或 `Alt+M`(某些配置) | 循环权限模式 | 在 `default`(在模式指示器中标记为 Manual)、`acceptEdits`、`plan` 和您启用的任何模式(如 `auto` 或 `bypassPermissions`)之间循环。请参阅[权限模式](/docs/zh-CN/permission-modes)。 |41| `Esc` + `Esc` | 清除输入草稿或回退 | 当提示输入包含文本时,双 `Esc` 会清除它并将草稿保存到历史记录,以便 `Up` 可以调用它。当输入为空时,双 `Esc` 会打开[回退菜单](/docs/zh-CN/checkpointing)以从之前的某个点恢复或总结代码和对话 |
42| `Shift+Tab` 或在 Node 或 Bun 运行时不启用 VT 输入模式时在 Windows 上使用 `Alt+M` | 循环权限模式 | 循环通过 `default`(在模式指示器中标记为 Manual)、`acceptEdits`、`plan` 和(如果可用)`bypassPermissions` 然后 `auto`。从 `auto`,第一次按下切换到 `default`。请参阅[权限模式](/docs/zh-CN/permission-modes)。在文件权限提示上,相同的键会关闭打开的[注释字段](/docs/zh-CN/permissions#add-a-comment-when-you-answer-a-permission-prompt)。如果没有字段打开,它会选择允许该操作在会话其余部分的选项,当提示提供该选项时 |
46| `Option+P`(macOS)或 `Alt+P`(Windows/Linux) | 切换模型 | 在不清除提示的情况下切换模型 |43| `Option+P`(macOS)或 `Alt+P`(Windows/Linux) | 切换模型 | 在不清除提示的情况下切换模型 |
47| `Option+T`(macOS)或 `Alt+T`(Windows/Linux) | 切换扩展思考 | 启用或禁用扩展思考模式。对 Fable 5 无效,它始终使用扩展思考。从 v2.1.132 开始,此快捷键在 macOS 上无需配置 Option 作为 Meta 即可工作 |44| `Option+T`(macOS)或 `Alt+T`(Windows/Linux) | 切换扩展思考 | 启用或禁用扩展思考模式。对 Fable 5.1 或 Fable 5 无效,它们始终使用扩展思考。在 macOS 上无需配置 Option 为 Meta 即可工作 |
48| `Option+O`(macOS)或 `Alt+O`(Windows/Linux) | 切换快速模式 | 启用或禁用[快速模式](/docs/zh-CN/fast-mode) |45| `Option+O`(macOS)或 `Alt+O`(Windows/Linux) | 切换快速模式 | 启用或禁用[快速模式](/docs/zh-CN/fast-mode) |
49 46
50<h3 id="text-editing">47<h3 id="text-editing">
52</h3>49</h3>
53 50
54| 快捷键 | 描述 | 上下文 |51| 快捷键 | 描述 | 上下文 |
55| :--------------------- | :----------- | :-------------------------------------------------------------------------------------------- |52| :------------------------ | :----------- | :----------------------------------------------------------------------------------------------------------- |
56| `Ctrl+A` | 将光标移动到当前行的开始 | 在多行输入中,移动到当前逻辑行的开始 |53| `Ctrl+A` | 将光标移动到当前行的开始 | 在多行输入中,移动到当前逻辑行的开始 |
57| `Ctrl+E` | 将光标移动到当前行的末尾 | 在多行输入中,移动到当前逻辑行的末尾 |54| `Ctrl+E` | 将光标移动到当前行的末尾 | 在多行输入中,移动到当前逻辑行的末尾 |
58| `Ctrl+K` | 删除到行尾 | 存储已删除的文本以供粘贴 |55| `Ctrl+K` | 删除到行尾 | 存储删除的文本以供粘贴 |
59| `Ctrl+U` | 从光标删除到行首 | 存储已删除的文本以供粘贴。重复以清除多行输入中的多行。在 macOS 上,终端模拟器(包括 iTerm2 和 Terminal.app)将 `Cmd+Backspace` 映射到此快捷键 |56| `Ctrl+U` | 从光标删除到行开始 | 存储删除的文本以供粘贴。重复以清除多行输入中的多行。在 macOS 上,包括 iTerm2 和 Terminal.app 在内的终端模拟器将 `Cmd+Backspace` 映射到此快捷键 |
60| `Ctrl+W` | 删除上一个单词 | 存储已删除的文本以供粘贴。在 Windows 上,`Ctrl+Backspace` 也会删除上一个单词 |57| `Ctrl+W` | 删除回到上一个空格 | 存储删除的文本以供粘贴。一次按下会删除整个路径或 `--flag=value`。要仅删除上一个单词,请在 macOS 上按 `Option+Delete` 或在 Windows 上按 `Ctrl+Backspace` |
61| `Ctrl+Y` | 粘贴已删除的文本 | 粘贴用 `Ctrl+K`、`Ctrl+U` 或 `Ctrl+W` 删除的文本 |58| `Ctrl+Y` | 粘贴删除的文本 | 粘贴您最后用单词或行删除快捷键(如 `Ctrl+K`、`Ctrl+U` 或 `Ctrl+W`)删除的文本 |
62| `Alt+Y`(在 `Ctrl+Y` 之后) | 循环粘贴历史 | 粘贴后,循环浏览以前删除的文本。在 macOS 上需要[将 Option 作为 Meta](#keyboard-shortcuts) |59| `Alt+Y`(在 `Ctrl+Y` 之后) | 循环粘贴历史 | 粘贴后,循环通过之前删除的文本。在 macOS 上需要[Option 作为 Meta](#keyboard-shortcuts) |
63| `Alt+B` | 将光标向后移动一个单词 | 单词导航。在 macOS 上需要[将 Option 作为 Meta](#keyboard-shortcuts) |60| `Alt+B` | 将光标向后移动一个单词 | 单词导航。在 macOS 上需要[Option 作为 Meta](#keyboard-shortcuts) |
64| `Alt+F` | 将光标向前移动一个单词 | 单词导航。在 macOS 上需要[将 Option 作为 Meta](#keyboard-shortcuts) |61| `Alt+F` | 将光标向前移动一个单词 | 移动到当前单词的末尾,或当光标在单词之间时移动到下一个单词的末尾。在 macOS 上需要[Option 作为 Meta](#keyboard-shortcuts) |
62| `Alt+D` | 删除到单词末尾 | 删除到当前单词的末尾,或当光标在单词之间时删除到下一个单词的末尾。存储删除的文本以供粘贴。在 macOS 上需要[Option 作为 Meta](#keyboard-shortcuts) |
63| `Ctrl+_` 或 `Ctrl+Shift+-` | 撤销最后一次输入编辑 | 恢复上一个输入文本和光标位置 |
64
65<h3 id="make-ctrl-w-delete-back-to-whitespace">
66 编辑快捷键中的单词边界
67</h3>
68
69单词快捷键 `Alt+B`、`Alt+F`、`Alt+D`、`Option+Delete` 和 `Ctrl+Backspace` 将单词视为字母和数字的运行,因此标点符号(如 `_`、`.` 和 `/`)分隔单词。在提示中有 `src/utils/foo.ts` 时,重复按 `Alt+B` 会在 `ts`、`foo`、`utils` 和 `src` 的开始处停止。
70
71`Ctrl+W` 不同:它忽略标点符号并删除回到上一个空格,因此一次按下会删除所有 `src/utils/foo.ts`。
72
73在没有空格的文本中,例如中文或日文,单词快捷键仍然一次移动或删除一个单词。
74
75这些 readline 约定适用于 Claude Code v2.1.261 及更高版本。在早期版本中打开它们的 [`keybindingFlavor`](/docs/zh-CN/settings-reference#keybindingflavor) 设置已弃用,无效。
76
77您无法在[快捷键配置文件](/docs/zh-CN/keybindings)中重新映射这些快捷键,该文件没有这些操作的操作。
65 78
66<h3 id="theme-and-display">79<h3 id="theme-and-display">
67 主题和显示80 主题和显示
76</h3>89</h3>
77 90
78| 方法 | 快捷键 | 上下文 |91| 方法 | 快捷键 | 上下文 |
79| :---------- | :------------- | :------------------------------------------------------------------------------------------- |92| :---------- | :------------- | :------------------------------------------------------------------------------------------------------------------------------------------- |
80| 快速转义 | `\` + `Enter` | 在所有终端中工作 |93| 快速转义 | `\` + `Enter` | 在所有终端中工作 |
81| Option 键 | `Option+Enter` | 在 macOS 上启用[将 Option 作为 Meta](/docs/zh-CN/terminal-config#enable-option-key-shortcuts-on-macos) 后 |94| Option 键 | `Option+Enter` | 在 macOS 上启用[Option 作为 Meta](/docs/zh-CN/terminal-config#enable-option-key-shortcuts-on-macos)后 |
82| Shift+Enter | `Shift+Enter` | 在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 中开箱即用 |95| Shift+Enter | `Shift+Enter` | 在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal、Windows Terminal 中原生支持。对于其他终端,请参阅[输入多行提示](/docs/zh-CN/terminal-config#enter-multiline-prompts) |
83| 控制序列 | `Ctrl+J` | 在任何终端中工作,无需配置 |96| 控制序列 | `Ctrl+J` | 在任何终端中无需配置即可工作 |
84| 粘贴模式 | 直接粘贴 | 对于代码块、日志 |97| 粘贴模式 | 直接粘贴 | 对于代码块、日志 |
85 98
86<Tip>
87 Shift+Enter 在 iTerm2、WezTerm、Ghostty、Kitty、Warp、Apple Terminal 和 Windows Terminal 中无需配置即可工作。对于 VS Code、Cursor、Devin Desktop、Alacritty 和 Zed,运行 `/terminal-setup` 以安装绑定。
88</Tip>
89
90<h3 id="quick-commands">99<h3 id="quick-commands">
91 快速命令100 快速命令
92</h3>101</h3>
93 102
94| 快捷键 | 描述 | 注释 |103| 快捷键 | 描述 | 注释 |
95| :------ | :-------- | :------------------------------------------ |104| :-------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
96| `/` 在开始 | 命令或 skill | 请参阅[命令](#commands)和 [skills](/docs/zh-CN/skills) |105| `/` 在开始 | 命令或 skill | 请参阅[命令](#commands)和[skills](/docs/zh-CN/skills) |
97| `!` 在开始 | Shell 模式 | 直接运行命令,将其输出添加到会话,并让 Claude 对其进行响应 |106| `!` 在开始 | Shell 模式 | 直接运行命令,将其输出添加到会话,并让 Claude 对其进行响应 |
98| `@` | 文件路径提及 | 触发文件路径自动完成 |107| `@` | 文件路径提及 | 触发文件路径自动完成。在具有[跨会话消息传递](/docs/zh-CN/cross-session-messaging#message-another-session)的会话中,当您在 `@` 后键入至少一个字母时,Claude Code 也会建议您在此机器上的其他实时会话,以便您可以告诉 Claude 向您选择的会话发送消息。需要 Claude Code v2.1.232 或更高版本 |
108| `:` | 表情符号简码 | 键入完整的 `:name:` 以插入表情符号,或键入两个或更多字符以获取建议。请参阅[表情符号简码](#emoji-shortcodes)。需要 Claude Code v2.1.217 或更高版本 |
109| `?` 在空输入上 | 切换快捷键帮助面板 | 当输入已包含文本时键入 `?` 会插入该字符 |
99 110
100<h3 id="transcript-viewer">111<h3 id="transcript-viewer">
101 转录查看器112 记录查看器
102</h3>113</h3>
103 114
104当转录查看器打开时(使用 `Ctrl+O` 切换),这些快捷键可用。在[全屏渲染](/docs/zh-CN/fullscreen)中,按 `?` 显示查看器内的完整快捷键参考面板。`Ctrl+E` 可以通过 [`transcript:toggleShowAll`](/docs/zh-CN/keybindings) 重新绑定。115当记录查看器打开时(使用 `Ctrl+O` 切换),这些快捷键可用。运行不带参数的 `/tui` 以检查哪个渲染器处于活动状态。`Ctrl+E` 可以通过 [`transcript:toggleShowAll`](/docs/zh-CN/keybindings) 重新绑定。
105 116
106| 快捷键 | 描述 |117| 快捷键 | 描述 |
107| :----------------- | :---------------------------------------------------------------------------------------------------------------- |118| :----------------- | :---------------------------------------------------------------------------------------------------------------- |
108| `?` | 切换键盘快捷键帮助面板。需要[全屏渲染](/docs/zh-CN/fullscreen) |119| `?` | 切换键盘快捷键帮助面板。需要[全屏渲染](/docs/zh-CN/fullscreen) |
109| `{` / `}` | 跳转到上一个或下一个用户提示,如 vim 段落运动。需要[全屏渲染](/docs/zh-CN/fullscreen) |120| `{` / `}` | 跳转到上一个或下一个用户提示,如 vim 段落运动。需要[全屏渲染](/docs/zh-CN/fullscreen) |
110| `Ctrl+E` | 切换显示所有内容 |121| `Ctrl+E` | 切换显示所有内容。仅在经典渲染器中可用,在[全屏渲染](/docs/zh-CN/fullscreen)中不可用 |
111| `[` | 将完整对话写入终端的原生滚动缓冲区,以便 `Cmd+F`、tmux 复制模式和其他原生工具可以搜索它。需要[全屏渲染](/docs/zh-CN/fullscreen#search-and-review-the-conversation) |122| `[` | 将完整对话写入终端的原生滚动缓冲区,以便 `Cmd+F`、tmux 复制模式和其他原生工具可以搜索它。需要[全屏渲染](/docs/zh-CN/fullscreen#search-and-review-the-conversation) |
112| `v` | 将对话写入临时文件并在 `$VISUAL` 或 `$EDITOR` 中打开它。需要[全屏渲染](/docs/zh-CN/fullscreen) |123| `v` | 将对话写入临时文件并在 `$VISUAL` 或 `$EDITOR` 中打开它。需要[全屏渲染](/docs/zh-CN/fullscreen) |
113| `q`、`Ctrl+C`、`Esc` | 退出转录视图。所有三个都可以通过 [`transcript:exit`](/docs/zh-CN/keybindings) 重新绑定 |124| `q`、`Ctrl+C`、`Esc` | 退出记录查看。所有三个都可以通过 [`transcript:exit`](/docs/zh-CN/keybindings) 重新绑定 |
114 125
115<h3 id="voice-input">126<h3 id="voice-input">
116 语音输入127 语音输入
124 命令135 命令
125</h2>136</h2>
126 137
127在 Claude Code 中键入 `/` 以查看所有可用命令,或键入 `/` 后跟任何字母以进行筛选。`/` 菜单显示您可以调用的所有内容:内置命令、捆绑的和用户编写的 [skills](/docs/zh-CN/skills),以及由 [plugins](/docs/zh-CN/plugins) 和 [MCP servers](/docs/zh-CN/mcp#use-mcp-prompts-as-commands) 贡献的命令。并非所有内置命令对每个用户都可见,因为某些命令取决于您的平台或计划。138在 Claude Code 中输入 `/` 可以查看可用的命令,或输入 `/` 后跟任何字母来筛选。`/` 菜单列出了内置命令、捆绑的和用户编写的 [skills](/docs/zh-CN/skills),以及由 [plugins](/docs/zh-CN/plugins) 和 [MCP servers](/docs/zh-CN/mcp#use-mcp-prompts-as-commands) 贡献的命令。并非所有内置命令对每个用户都可见,因为某些命令取决于您的平台或计划,而且 [少数可用命令在设计上从菜单中隐藏](/docs/zh-CN/commands#how-the-command-menu-matches-what-you-type),当您输入其全名时运行。
128 139
129在[全屏渲染](/docs/zh-CN/fullscreen#use-the-mouse)中,`/` 命令和 `@` 文件建议列表也响应鼠标:悬停突出显示一行,单击接受它。140在 [fullscreen rendering](/docs/zh-CN/fullscreen#use-the-mouse) 中,`/` 命令和 `@` 文件建议列表也响应鼠标:悬停突出显示一行,点击接受它。
141
142有关 Claude Code 中包含的命令的完整列表,请参阅 [commands reference](/docs/zh-CN/commands)。
143
144<h3 id="complete-a-command-mid-prompt">
145 在提示中途完成命令
146</h3>
130 147
131有关 Claude Code 中包含的命令的完整列表,请参阅[命令参考](/docs/zh-CN/commands)。148命令完成也适用于提示的中途:在空格后输入 `/`,然后输入名称的前几个字母,如 `run the tests, then /com`。只有名称以这些字母开头的命令才会匹配,因此文件路径(如 `/tmp/notes.md`)不会保持列表打开。Claude Code 仅在命令 [starts your message](/docs/zh-CN/commands) 时自己运行命令。
149
150* **在 [fullscreen rendering](/docs/zh-CN/fullscreen) 中**:匹配项在您输入时以列表形式打开,没有突出显示的行,因此 `Enter` 仍会按输入的方式发送您的提示。按 `Tab` 插入顶部匹配项,或使用箭头键和 `Enter` 选择一行。
151* **在 fullscreen 之外**:顶部匹配项的其余部分在您的光标处显示为幽灵文本,当有更多命令匹配时显示 `+2` 之类的计数。按 `Tab` 插入唯一的匹配项,或在有多个匹配项时打开列表,然后使用箭头键和 `Enter` 选择一行。
152
153在两个渲染器中,在裸露的中途 `/` 上按 `Tab` 可列出每个命令。
154
155插件 skill 也会在其裸露名称上匹配,因此 `/deploy` 会找到名为 `myplugin:deploy-app` 的 skill。当您插入匹配项时,Claude Code 会写入完整的 `/myplugin:deploy-app`。
132 156
133<h2 id="vim-editor-mode">157<h2 id="vim-editor-mode">
134 Vim 编辑器模式158 Vim 编辑器模式
135</h2>159</h2>
136 160
137通过 `/config` → 编辑器模式启用 vim 风格编辑。161通过 `/config` → Editor mode 启用 vim 风格编辑。
162
163Claude Code 在你使用 `Ctrl+O` 切换[文字记录查看器](#transcript-viewer)或打开和关闭面板(如 `/config`)时保持你的 vim 模式和光标位置。如果你在 NORMAL 模式下离开提示符,当你返回时它仍然处于 NORMAL 模式,光标位置与你离开时相同。
138 164
139<h3 id="mode-switching">165<h3 id="mode-switching">
166 模式切换
167</h3>
168
169| 命令 | 操作 | 来自模式 |
170| :--------------- | :--------------------------------------------------------- | :------------ |
171| `Esc` 或 `Ctrl+[` | 进入 NORMAL 模式。在使用 Kitty 键盘协议的终端中,`Ctrl+[` 需要 v2.1.242 或更高版本 | INSERT、VISUAL |
172| `i` | 在光标前插入 | NORMAL |
173| `I` | 在行首插入 | NORMAL |
174| `a` | 在光标后插入 | NORMAL |
175| `A` | 在行尾插入 | NORMAL |
176| `o` | 在下方打开新行 | NORMAL |
177| `O` | 在上方打开新行 | NORMAL |
178| `v` | 开始字符级可视选择 | NORMAL |
179| `V` | 开始行级可视选择 | NORMAL |
180
181<h3 id="remap-insert-mode-key-sequences">
140 重新映射 INSERT 模式快捷键序列182 重新映射 INSERT 模式快捷键序列
141</h3>183</h3>
142 184
143[`vimInsertModeRemaps`](/docs/zh-CN/settings#available-settings) 设置将两个按键的 INSERT 模式序列映射到 Escape,因此像 `jj` 这样的映射会让你返回 NORMAL 模式。需要 Claude Code v2.1.208 或更高版本。185[`vimInsertModeRemaps`](/docs/zh-CN/settings-reference#viminsertmoderemaps) 设置将两个按键的 INSERT 模式序列映射到 Escape,因此像 `jj` 这样的映射会让你返回 NORMAL 模式。需要 Claude Code v2.1.208 或更高版本。
144 186
145以下 `~/.claude/settings.json` 示例打开 vim 模式并将 `jj` 映射到 Escape:187以下 `~/.claude/settings.json` 示例打开 vim 模式并将 `jj` 映射到 Escape:
146 188
151}193}
152```194```
153 195
154每个键恰好是按顺序输入的两个可打印字符,`"<Esc>"` 是唯一支持的目标。具有不同长度或目标的条目将被忽略。196每个键恰好是按顺序输入的两个可打印字符,`"<Esc>"` 是唯一支持的目标。长度或目标不同的条目会被忽略。
155
156输入序列的第一个字符会正常插入。在一秒内按下第二个字符会移除该待处理字符并切换到 NORMAL 模式,在你的输入中不留下任何字符。在一秒窗口之后,或者如果按下不同的键,两个字符都会保留为文字文本,因此你仍然可以通过在两个键之间暂停来输入包含该序列的单词。
157 197
158Claude Code 仅从你的用户设置文件、`--settings` 标志和[托管设置](/docs/zh-CN/permissions#managed-settings)读取此设置。项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的条目被忽略,因此已检出的存储库无法重新映射你的按键。198输入序列的第一个字符会正常插入。在一秒内按下第二个字符会移除待处理的字符并切换到 NORMAL 模式,在你的输入中不留下任何字符。在一秒窗口之后,或者如果按下不同的键,两个字符都会保留为字面文本,因此你仍然可以通过在两个键之间暂停来输入包含该序列的单词。
159 199
160<h3 id="remap-insert-mode-key-sequences">200Claude Code 从你的用户设置文件、`--settings` 标志和[托管设置](/docs/zh-CN/managed-settings)读取此设置。项目的 `.claude/settings.json` 或 `.claude/settings.local.json` 中的条目会被忽略,因此已检出的存储库无法重新映射你的按键。
161 模式切换
162</h3>
163
164| 命令 | 操作 | 来自模式 |
165| :---- | :----------- | :------------ |
166| `Esc` | 进入 NORMAL 模式 | INSERT、VISUAL |
167| `i` | 在光标前插入 | NORMAL |
168| `I` | 在行首插入 | NORMAL |
169| `a` | 在光标后插入 | NORMAL |
170| `A` | 在行尾插入 | NORMAL |
171| `o` | 在下方打开行 | NORMAL |
172| `O` | 在上方打开行 | NORMAL |
173| `v` | 开始字符级可视选择 | NORMAL |
174| `V` | 开始行级可视选择 | NORMAL |
175 201
176<h3 id="navigation-normal-mode">202<h3 id="navigation-normal-mode">
177 导航(NORMAL 模式)203 导航(NORMAL 模式)
178</h3>204</h3>
179 205
180| 命令 | 操作 |206| 命令 | 操作 |
181| :-------------- | :---------------------------------------------------------------------------- |207| :-------------- | :------------------------------------------------------------- |
182| `h`/`j`/`k`/`l` | 向左/向下/向上/向右移动 |208| `h`/`j`/`k`/`l` | 向左/向下/向上/向右移动 |
183| `Space` | 向右移动 |209| `Space` | 向右移动 |
184| `w` | 下一个单词 |210| `w` | 下一个单词 |
189| `^` | 第一个非空白字符 |215| `^` | 第一个非空白字符 |
190| `gg` | 输入开始 |216| `gg` | 输入开始 |
191| `G` | 输入结束 |217| `G` | 输入结束 |
192| `f{char}` | 跳转到下一个字符出现处 |218| `f{char}` | 跳转到下一个字符出现位置 |
193| `F{char}` | 跳转到上一个字符出现处 |219| `F{char}` | 跳转到上一个字符出现位置 |
194| `t{char}` | 跳转到下一个字符出现处之前 |220| `t{char}` | 跳转到下一个字符出现位置之前 |
195| `T{char}` | 跳转到上一个字符出现处之后 |221| `T{char}` | 跳转到上一个字符出现位置之后 |
196| `;` | 重复最后一个 f/F/t/T 动作 |222| `;` | 重复上一个 f/F/t/T 动作 |
197| `,` | 反向重复最后一个 f/F/t/T 动作 |223| `,` | 反向重复上一个 f/F/t/T 动作 |
198| `/` | 打开反向历史搜索,与 `Ctrl+R` 相同。从 v2.1.191 开始,空搜索提示显示一个提示:按 `Esc` 然后 `i` 然后 `/` 打开命令菜单 |224| `/` | 打开反向历史搜索,与 `Ctrl+R` 相同。空搜索提示显示提示:按 `Esc` 然后 `i` 然后 `/` 来打开命令菜单 |
199 225
200<Note>226<Note>
201 在 vim 正常模式下,如果光标在输入的开始或结束处且无法进一步移动,`j`/`k` 和箭头键将导航命令历史。227 在 vim NORMAL 模式中,如果光标在输入的开始或结束处且无法进一步移动,`j`/`k` 和 `↑`/`↓` 会导航命令历史。在空提示符上按 `←` 也会从 NORMAL 模式和 INSERT 模式打开[代理视图](/docs/zh-CN/agent-view);在 v2.1.219 之前,在空提示符上按 `←` 在 NORMAL 模式下不执行任何操作。
202</Note>228</Note>
203 229
204<h3 id="editing-normal-mode">230<h3 id="editing-normal-mode">
206</h3>232</h3>
207 233
208| 命令 | 操作 |234| 命令 | 操作 |
209| :------------- | :---------- |235| :-------------------- | :------------------------------------------------------- |
210| `x` | 删除字符 |236| `x` | 删除字符 |
211| `dd` | 删除行 |237| `dd` | 删除行 |
212| `D` | 删除到行尾 |238| `D` | 删除到行尾 |
213| `dw`/`de`/`db` | 删除单词/到末尾/向后 |239| `dw`/`de`/`db` | 删除单词/到末尾/向后 |
240| `df{char}`/`dt{char}` | 删除到并包括,或删除到下一个字符出现位置 |
214| `cc` | 更改行 |241| `cc` | 更改行 |
215| `C` | 更改到行尾 |242| `C` | 更改到行尾 |
216| `cw`/`ce`/`cb` | 更改单词/到末尾/向后 |243| `cw`/`ce`/`cb` | 更改单词/到末尾/向后 |
244| `s` | 替换字符:删除光标下的字符并进入 INSERT 模式。需要 Claude Code v2.1.211 或更高版本 |
245| `S` | 替换行:清除行并进入 INSERT 模式。需要 Claude Code v2.1.211 或更高版本 |
217| `yy`/`Y` | 复制行 |246| `yy`/`Y` | 复制行 |
218| `yw`/`ye`/`yb` | 复制单词/到末尾/向后 |247| `yw`/`ye`/`yb` | 复制单词/到末尾/向后 |
219| `p` | 在光标后粘贴 |248| `p` | 在光标后粘贴 |
220| `P` | 在光标前粘贴 |249| `P` | 在光标前粘贴 |
221| `>>` | 缩进行 |250| `>>` | 缩进行 |
222| `<<` | 取消缩进行 |251| `<<` | 取消缩进行 |
223| `J` | 连接行 |252| `J` | 合并行 |
224| `u` | 撤销 |253| `u` | 撤销 |
225| `.` | 重复最后一个更改 |254| `.` | 重复上一个更改 |
226 255
227<h3 id="text-objects-normal-mode">256<h3 id="text-objects-normal-mode">
228 文本对象(NORMAL 模式)257 文本对象(NORMAL 模式)
229</h3>258</h3>
230 259
231文本对象与 `d`、`c` 和 `y` 等运算符一起工作:260文本对象与 `d`、`c` 和 `y` 等运算符一起使用:
232 261
233| 命令 | 操作 |262| 命令 | 操作 |
234| :-------- | :--------------- |263| :-------- | :--------------- |
238| `i'`/`a'` | 内部/周围单引号 |267| `i'`/`a'` | 内部/周围单引号 |
239| `i(`/`a(` | 内部/周围括号 |268| `i(`/`a(` | 内部/周围括号 |
240| `i[`/`a[` | 内部/周围方括号 |269| `i[`/`a[` | 内部/周围方括号 |
241| `i{`/`a{` | 内部/周围大括号 |270| `i{`/`a{` | 内部/周围花括号 |
242 271
243<h3 id="visual-mode">272<h3 id="visual-mode">
244 可视模式273 可视模式
245</h3>274</h3>
246 275
247按 `v` 进行字符级选择或按 `V` 进行行级选择。动作扩展选择,运算符直接作用于选择。276按 `v` 进行字符级选择或按 `V` 进行行级选择。动作扩展选择,运算符直接作用于它。
248 277
249| 命令 | 操作 |278| 命令 | 操作 |
250| :--------------- | :------------------- |279| :--------------- | :------------------- |
255| `r{char}` | 将每个选定的字符替换为 `{char}` |284| `r{char}` | 将每个选定的字符替换为 `{char}` |
256| `~`/`u`/`U` | 切换、小写或大写选择 |285| `~`/`u`/`U` | 切换、小写或大写选择 |
257| `>`/`<` | 缩进或取消缩进选定的行 |286| `>`/`<` | 缩进或取消缩进选定的行 |
258| `J` | 连接选定的行 |287| `J` | 合并选定的行 |
259| `o` | 交换光标和锚点 |288| `o` | 交换光标和锚点 |
260| `iw`/`aw`/`i"`/… | 选择文本对象 |289| `iw`/`aw`/`i"`/… | 选择文本对象 |
261| `v`/`V` | 在字符级和行级之间切换,或退出 |290| `v`/`V` | 在字符级和行级之间切换,或退出 |
266 命令历史295 命令历史
267</h2>296</h2>
268 297
269Claude Code 为当前会话维护命令历史:298Claude Code 保留了你输入的提示词的历史记录,上箭头回调可以从同一项目的过去会话中获取提示词:
270 299
271* 输入历史按工作目录存储300* 输入历史按工作目录存储
272* 当您运行 `/clear` 以启动新会话时,输入历史会重置。上一个会话的对话被保留并可以恢复。301* 运行 `/clear` 开始新会话:回调时会首先列出新会话的提示词,然后是较早会话的提示词。前一个会话的对话被保留,可以恢复。
273* 连续两次提交相同的提示会记录一个历史条目,因此按向上箭头会跳转到上一个不同的提示302* 连续两次提交相同的提示词只记录一个历史条目,因此按上箭头会跳到前一个不同的提示词
274* 使用向上/向下箭头导航(请参阅上面的快捷键)303* 当你回调包含粘贴文本的提示词时,Claude Code 在你重新提交时会再次发送完整的粘贴内容。如果内容已被[自动清理](/docs/zh-CN/claude-directory#cleaned-up-automatically),Claude Code 不会发送字面上的 `[Pasted text #N]` 字符串;有关提示词发生的情况,请参阅[粘贴大型内容](/docs/zh-CN/terminal-config#paste-large-content)
275* 历史扩展(`!`)默认禁用304* 使用 `!` 的历史扩展默认被禁用
276 305
277<h3 id="reverse-search-with-ctrl-r">306<h3 id="reverse-search-with-ctrl-r">
278 使用 Ctrl+R 反向搜索307 使用 Ctrl+R 进行反向搜索
279</h3>308</h3>
280 309
281按 `Ctrl+R` 以交互方式搜索您的命令历史:310按 `Ctrl+R` 以交互方式搜索你的命令历史。在[全屏渲染](/docs/zh-CN/fullscreen)中,`Ctrl+R` 打开搜索对话框:输入以过滤,按 `Up` 和 `Down` 在匹配项中移动,按 `Ctrl+S` 循环切换范围(此会话、此项目和所有项目)。按 `Enter` 或 `Tab` 将匹配项放在提示词输入中,或按 `Esc` 取消。下面的步骤描述经典渲染器的内联搜索:
282 311
2831. **开始搜索**:按 `Ctrl+R` 激活反向历史搜索3121. **开始搜索**:按 `Ctrl+R` 激活反向历史搜索
2842. **键入查询**:输入文本以在以前的命令中搜索。搜索词在匹配结果中突出显示3132. **输入查询**:输入要在以前的命令中搜索的文本。搜索词在匹配结果中突出显示
2853. **导航匹配**:再次按 `Ctrl+R` 以循环浏览较旧的匹配3143. **导航匹配项**:再次按 `Ctrl+R` 循环浏览较早的匹配项
2864. **更改范围**:搜索默认为来自所有项目的提示。按 `Ctrl+S` 在此会话、此项目和所有项目之间循环范围3154. **搜索范围**:内联搜索始终搜索来自所有项目的提示词
2875. **接受匹配**:3165. **接受匹配项**:
288 * 按 `Tab` 或 `Esc` 接受当前匹配并继续编辑317 * 按 `Tab` 或 `Esc` 接受当前匹配项并继续编辑
289 * 按 `Enter` 接受并立即执行命令318 * 按 `Enter` 接受并立即执行命令
2906. **取消搜索**:3196. **取消搜索**:
291 * 按 `Ctrl+C` 取消并恢复原始输入320 * 按 `Ctrl+C` 取消并恢复你的原始输入
292 * 在空搜索上按 `Backspace` 以取消321 * 在空搜索上按 `Backspace` 取消
293 322
294搜索加载所选范围内最近的 100 个唯一提示,重复项折叠到最新出现。匹配的提示显示时搜索词突出显示,因此您可以找到并重用以前的输入。323内联搜索扫描你的完整提示词历史,最新的优先,重复项折叠到最新出现。全屏对话框在选定的范围内搜索你的整个提示词历史,最新的优先,重复项折叠到最新出现:最近的提示词立即出现,较早提示词的匹配项在 Claude Code 加载其余部分时填充。匹配的提示词显示时搜索词突出显示,因此你可以找到并重用以前的输入。
295 324
296接受匹配或取消搜索会立即生效,即使 Claude Code 仍在加载历史记录。在 v2.1.202 之前,在加载期间接受或取消可能会报告内部错误。325接受匹配项或取消搜索立即生效,即使 Claude Code 仍在加载历史记录。
297 326
298<h2 id="background-bash-commands">327<h2 id="background-bash-commands">
299 后台 Bash 命令328 后台 Bash 命令
300</h2>329</h2>
301 330
302Claude Code 支持在后台运行 Bash 命令,允许您在长时间运行的进程执行时继续工作。331Claude Code 支持在后台运行 Bash 命令,允许你在长时间运行的进程执行时继续工作。
303 332
304<h3 id="how-backgrounding-works">333<h3 id="how-backgrounding-works">
305 后台运行的工作原理334 后台运行的工作原理
306</h3>335</h3>
307 336
308当 Claude Code 在后台运行命令时,它异步运行命令并立即返回后台任务 ID。Claude Code 可以在命令继续在后台执行时响应新提示。337当 Claude Code 在后台运行命令时,它会异步运行该命令并立即返回一个后台任务 ID。Claude Code 可以在命令继续在后台执行时响应新的提示。
309 338
310要在后台运行命令,您可以:339要在后台运行命令,你可以:
311 340
312* 提示 Claude Code 在后台运行命令341* 提示 Claude Code 在后台运行命令
313* 按 `Ctrl+B` 将常规 Bash 工具调用移到后台。Tmux 用户必须按 `Ctrl+B` 两次,因为 tmux 的前缀键。342* 按 `Ctrl+B` 将常规 Bash 工具调用移到后台。Tmux 用户必须按两次 `Ctrl+B`,因为 tmux 有前缀键。
314 343
315**主要功能:**344**主要功能:**
316 345
317* 输出被写入文件,Claude 可以使用 Read 工具检索它346* 输出被写入文件,Claude 可以使用 Read 工具检索它
318* 后台任务具有唯一的 ID 用于跟踪和输出检索347* 后台任务有唯一的 ID 用于跟踪和输出检索
319* 当 Claude Code 退出时,后台任务会自动清理。将会话放在后台而不是退出会将它们交给后台会话,它们会继续运行。请参阅[在会话内部将其放在后台](/docs/zh-CN/agent-view#from-inside-a-session)348* 当 Claude Code 退出时,后台任务会自动清理。在 macOS 和 Linux 上,当你从 [`/tasks`](/docs/zh-CN/commands) 停止后台任务或 Claude Code 在退出时停止它时,从任务的 shell 分离的进程(例如在 `setsid` 或 `timeout` 下启动的进程)也会停止
349* 如果你将会话放在后台而不是退出,你的后台任务将继续在后台会话中运行。请参阅[将运行中的会话放在后台](/docs/zh-CN/agent-view#from-inside-a-session)
320* 如果输出超过 5GB,后台任务会自动终止,stderr 中会有说明原因的注释350* 如果输出超过 5GB,后台任务会自动终止,stderr 中会有说明原因的注释
321* 从 v2.1.193 开始,在 macOS 和 Linux 上,当操作系统发出内存压力信号时,运行中的后台任务会被终止,前提是会话已经空闲至少 30 分钟,没有任何轮次或子代理运行。将 [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/zh-CN/env-vars) 设置为 `1` 以关闭此功能351* 在 macOS 和 Linux 上,当操作系统发出内存压力信号时,Claude Code 会终止运行中的后台任务,前提是会话已空闲至少 30 分钟且没有 turn 或 subagent 运行。设置 [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/zh-CN/env-vars) 为 `1` 可关闭此功能。需要 Claude Code v2.1.193 或更高版本
352* 由[子代理](/docs/zh-CN/sub-agents)拥有的后台命令没有时间限制,除非由在前台运行的子代理拥有的命令在该子代理给出最终响应时结束;请参阅工具参考中的[后台命令](/docs/zh-CN/tools-reference#background-commands)。在 v2.1.218 之前,内存压力回收和之前对子代理命令的 60 分钟限制都不包括用 `Ctrl+B` 移到后台的命令
322 353
323要禁用所有后台任务功能,请将 `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 环境变量设置为 `1`。有关详细信息,请参阅[环境变量](/docs/zh-CN/env-vars)。354要禁用所有后台任务功能,请将 `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` 环境变量设置为 `1`。有关详细信息,请参阅[环境变量](/docs/zh-CN/env-vars)。
324 355
334 使用 `!` 前缀的 Shell 模式365 使用 `!` 前缀的 Shell 模式
335</h3>366</h3>
336 367
337通过在输入前加上 `!` 来直接运行 shell 命令,无需通过 Claude:368通过在输入前加 `!` 前缀直接运行 shell 命令,无需通过 Claude:
338 369
339```bash theme={null}370```bash theme={null}
340! npm test371! npm test
346 377
347* 将命令及其输出添加到对话上下文378* 将命令及其输出添加到对话上下文
348* 显示实时进度和输出379* 显示实时进度和输出
349* 支持相同的 `Ctrl+B` 后台运行长时间运行的命令380* 支持相同的 `Ctrl+B` 后台运行,用于长时间运行的命令
350* 不需要 Claude 解释或批准命令381* 不需要 Claude 解释或批准命令
351* 支持基于历史的自动完成:键入部分命令并按 `Tab` 以从当前项目中的上一个 `!` 命令完成382* 支持基于历史的自动完成:输入部分命令并按 `Tab` 从当前项目中的前面 `!` 命令完成
352* 从 v2.1.193 开始在所有平台上支持实时文件路径自动完成:键入包含正斜杠的令牌,例如 `./src/` 或 `~/`,以查看匹配文件和目录的下拉列表,然后按 `Tab` 接受。在 Windows 上也使用正斜杠;下拉列表由 `/` 触发,而不是 `\`383* 从 v2.1.193 开始在所有平台上支持实时文件路径自动完成:输入包含正斜杠的令牌,例如 `./src/` 或 `~/`,查看匹配文件和目录的下拉列表,然后按 `Tab` 接受。在 Windows 上也使用正斜杠;下拉列表由 `/` 触发,而不是 `\`
353* 在空提示上使用 `Escape`、`Backspace` 或 `Ctrl+U` 退出384* 在空提示上按 `Escape`、`Backspace` 或 `Ctrl+U` 退出
354* 将以 `!` 开头的文本粘贴到空提示中会自动进入 shell 模式,与键入的 `!` 行为相匹配385* 将以 `!` 开头的文本粘贴到空提示中会自动进入 shell 模式,与输入的 `!` 行为匹配
386
387在常规交互式会话中,即使你已启用沙箱,你在 shell 模式中输入的命令也会在[沙箱](/docs/zh-CN/sandboxing)外运行,因为沙箱适用于 Claude 运行的命令。请参阅[严格沙箱模式](/docs/zh-CN/sandboxing#the-unsandboxed-retry-escape-hatch),了解 shell 模式命令也在沙箱中运行的会话,例如启用了严格沙箱模式的后台会话。
388
389一旦命令输出出现在记录中,Claude 会自动响应,因此你可以运行 `! npm test` 并获得失败的解释,无需第二个提示。响应成本与发送普通提示相同。要恢复之前的行为,其中输出被添加到上下文而不响应,请在 `settings.json` 中将 [`respondToBashCommands`](/docs/zh-CN/settings-reference#respondtobashcommands) 设置为 `false`。在 v2.1.186 之前,shell 模式始终将输出添加到上下文而不响应。
390
391<h2 id="queue-messages-while-claude-works">
392 在 Claude 工作时排队消息
393</h2>
394
395在 Claude 工作时输入消息并按 `Enter`。Claude Code 会将消息排队而不是中断当前轮次,并在输入框上方列出排队的条目,直到发送它们。您可以以相同的方式排队 `!` [shell 命令](#shell-mode-with-prefix)和大多数[命令](/docs/zh-CN/commands),除了 `/status` 等 Claude Code 在您发送时立即运行的命令。
355 396
356从 v2.1.186 开始,Claude 在命令输出进入记录后会自动响应,因此您可以运行 `! npm test` 并获得失败的解释,无需第二个提示。响应成本与发送普通提示相同。要恢复早期行为(其中输出被添加到上下文而不响应),请在 `settings.json` 中将 [`respondToBashCommands`](/docs/zh-CN/settings#available-settings) 设置为 `false`。在 v2.1.186 之前,shell 模式始终将输出添加到上下文而不响应。397<h3 id="when-claude-code-sends-what-you-queued">
398 Claude Code 何时发送您排队的内容
399</h3>
400
401排队条目何时到达 Claude 取决于您排队的内容。
402
403* 消息:如果您在 Claude 运行工具调用时排队消息,Claude Code 会在这些工具调用完成后立即将其传递给 Claude,在同一轮次内。当轮次以仍有排队消息结束时,Claude Code 仅发送最旧的消息作为下一轮次。其余消息保持排队状态并遵循相同规则:Claude Code 在该轮次的工具调用完成时将其传递给 Claude,或在下一轮次发送下一个最旧的消息
404* 命令和 shell 命令:Claude Code 将其保留到轮次结束,然后逐个运行它们
405
406按 `Esc` 中断轮次。Claude Code 保留您排队的内容并立即发送。
407
408Claude Code 在您发送某些命令时立即运行它们,而不是排队它们,其中包括 `/model`、`/effort` 和 `/fast`。这三个命令各改变一个设置:模型、努力级别或快速模式。Claude Code 是将新设置应用于 Claude 已在处理的轮次,还是仅从您的下一轮次应用,因命令而异:
409
410* [`/model`](/docs/zh-CN/model-config#setting-your-model):一旦您确认[缓存警告](/docs/zh-CN/prompt-caching#switching-models)(如果 Claude Code 显示),Claude Code 会将您的更改应用于该轮次中它发出的下一个请求
411* [`/effort`](/docs/zh-CN/model-config#adjust-effort-level):一旦您确认[缓存警告](/docs/zh-CN/prompt-caching#changing-effort-level)(如果 Claude Code 显示),Claude Code 会将您的更改应用于该轮次中它发出的下一个请求
412* [`/fast`](/docs/zh-CN/fast-mode#toggle-fast-mode):Claude Code 保持轮次开始时活跃的快速模式设置,因此您的速度更改从您的下一轮次应用。如果您当前的模型不支持快速模式,打开它也会[切换您的模型](/docs/zh-CN/prompt-caching#turning-on-fast-mode),Claude Code 会在该轮次中从其下一个请求使用新模型
357 413
358这对于快速 shell 操作同时保持对话上下文很有用。414<h3 id="take-back-what-you-queued">
415 取回您排队的内容
416</h3>
417
418从输入框的第一行按 `Up` 以取回排队的消息和命令。Claude Code 将其从队列中移除并将其放在输入框中,每行一个,位于您输入的任何文本之前。编辑文本并按 `Enter` 以将其再次排队为一个条目,或清除输入框以丢弃它。
419
420Claude Code 仅在输入框为空且您没有其他排队内容时才取回排队的 shell 命令,并在执行此操作时将输入框切换到 shell 模式。否则,它会将其保留在队列中,用其 `!` 前缀列出,并在轮次结束后运行它们。
359 421
360<h2 id="prompt-suggestions">422<h2 id="prompt-suggestions">
361 提示建议423 提示建议
362</h2>424</h2>
363 425
364当您首次打开会话时,灰显的示例命令会出现在提示输入中以帮助您入门。Claude Code 从您的项目的 git 历史中选择此命令,因此它反映了您最近一直在处理的文件。426当你首次打开一个会话时,Claude Code 会在提示输入框中显示一个灰显的示例命令来帮助你开始。它从你的项目的 git 历史记录中选择这个示例,所以该示例反映了你最近一直在处理的文件。
365 427
366Claude 响应后,建议会根据您的对话历史继续出现,例如多部分请求的后续步骤或工作流的自然延续。428在 Claude 响应后,Claude Code 可以根据你的对话历史建议你的下一个提示,例如多部分请求的后续步骤或你工作流程的自然延续。
367 429
368* 按 `Tab` 或 `Right arrow` 将建议放入提示输入中,然后按 `Enter` 提交430* 按 `Tab` 或 `Right arrow` 将建议放入提示输入框,然后按 `Enter` 提交
369* 开始输入以关闭它431* 开始输入以关闭它
370 432
371建议作为后台请求运行,该请求重用父对话的 prompt cache,因此额外成本最小。当缓存冷时,Claude Code 会跳过建议生成以避免不必要的成本。433Claude Code 使用后台请求生成这些下一个提示建议,该请求重用对话的提示缓存,因此额外成本最少。
372 434
373在对话的第一轮之后以及在 Plan Mode 中,建议会自动跳过。在打印模式下,它们默认关闭。传递 [`--prompt-suggestions`](/docs/zh-CN/cli-reference#cli-flags) 与 `--output-format stream-json --verbose` 以在每轮之后发出 `prompt_suggestion` 消息。435<h3 id="when-claude-code-skips-suggestions">
436 当 Claude Code 跳过建议时
437</h3>
374 438
375要完全禁用提示建议,请设置环境变量或在 `/config` 中切换设置:439在交互模式下,Claude Code 默认关闭提示建议,并在 `/config` 中隐藏 **Prompt suggestions** 切换,在[不获取功能标志的会话](/docs/zh-CN/env-vars#features-that-need-feature-flag-fetching)中(例如在第三方提供商上或通过 Claude 应用网关),以及在[安装或升级后的首个会话](/docs/zh-CN/env-vars#first-session-after-an-install-or-upgrade)中(其标志尚未到达)。
376 440
377```bash theme={null}441Claude Code 还在多种情况下跳过单个建议,包括:
378export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false442
443* 提示缓存为冷状态,以避免不必要的成本
444* 在对话的第一轮之后,在某些会话中
445* 前一个响应以错误结束
446* 当你处于 Plan Mode 时
447* 你的账户接近或已达到使用限制。要在达到限制之前保持建议开启,请将 [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/zh-CN/env-vars) 设置为 `true`。在 v2.1.238 之前,Claude Code 即使将变量设置为 `true` 也会在接近限制时跳过建议
448* 在[代理团队](/docs/zh-CN/agent-teams)中,默认情况下在队友的会话中。主导的会话显示建议
449
450在打印模式下,Claude Code 默认不生成建议。使用 [`--prompt-suggestions`](/docs/zh-CN/cli-reference#cli-flags) 与 `-p "<prompt>" --output-format stream-json --verbose` 一起传递,以使 Claude Code 在生成建议的每一轮之后发出 `prompt_suggestion` 消息。生成器在这里也会跳过非常短的对话和冷提示缓存,因此单个短的 `-p` 查询可能不会发出任何建议。
451
452<h3 id="turn-prompt-suggestions-off">
453 关闭提示建议
454</h3>
455
456要完全禁用提示建议,请使用以下任何一种方法:
457
458* 在 `/config` 中关闭 **Prompt suggestions**
459* 在你的设置文件中将 [`promptSuggestionEnabled`](/docs/zh-CN/settings-reference#promptsuggestionenabled) 设置为 `false`
460* 将 [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/zh-CN/env-vars) 环境变量设置为 `false`,它优先于设置:
461 ```bash theme={null}
462 export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false
463 ```
464
465要在整个组织范围内关闭提示建议,请在[托管设置](/docs/zh-CN/managed-settings)中将 `promptSuggestionEnabled` 设置为 `false`。还要在托管的 [`env`](/docs/zh-CN/settings-reference#env) 键下将 `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` 设置为 `false`,以便用户无法使用自己的环境变量重新启用它们。
466
467<h2 id="emoji-shortcodes">
468 表情符号速记代码
469</h2>
470
471在提示输入中输入 `:` 后跟表情符号速记代码来插入表情符号。需要 Claude Code v2.1.217 或更高版本。
472
473* 输入完整的速记代码,例如 `:heart:`,Claude Code 会在您输入结束的 `:` 时立即将其替换为 ❤️
474* 输入 `:` 加上名称的至少两个字符,例如 `:hea`,打开建议弹出窗口,然后按 `Tab` 或 `Enter` 插入突出显示的表情符号
475
476速记代码必须在输入的开头或空格后开始,因此单词或 URL 内的 `:` 不会打开建议。
477
478要关闭此功能,请在 `settings.json` 中将 [`emojiCompletionEnabled`](/docs/zh-CN/settings-reference#emojicompletionenabled) 设置为 `false`。这会禁用建议弹出窗口和内联替换。
479
480<h2 id="check-spelling-as-you-type">
481 在输入时检查拼写
482</h2>
483
484Claude Code 可以在您输入时在提示输入框中为拼写错误的单词加下划线。它仅检查输入框中的文本,从不检查 Claude 的回复或您的文件。它也不会在输入框处于[shell 模式](#shell-mode-with-prefix)、`Ctrl+R` 历史搜索或[语音听写](/docs/zh-CN/voice-dictation)时检查任何内容。
485
486拼写检查默认关闭,Claude Code 在[屏幕阅读器模式](/docs/zh-CN/accessibility)下不检查任何内容。需要 Claude Code v2.1.235 或更高版本。
487
488<h3 id="prerequisites">
489 前置条件
490</h3>
491
492* 安装 [aspell](https://github.com/GNUAspell/aspell)、[hunspell](https://github.com/hunspell/hunspell) 或 [ispell](https://en.wikipedia.org/wiki/Ispell),并确保它在您的 `PATH` 中。Claude Code 在每个平台上运行它找到的前三个中的第一个,包括包管理器在 Windows 上安装的 `.cmd` shim。
493* 要检查程序是否在您的 `PATH` 中,请在您的终端中运行 `aspell --version`、`hunspell --version` 或 `ispell -v`。"command not found" 错误意味着它还不在您的 `PATH` 中。
494
495<h3 id="turn-spell-checking-on-or-off">
496 打开或关闭拼写检查
497</h3>
498
499Claude Code 从三个地方读取 [`spellcheck`](/docs/zh-CN/settings-reference#spellcheck) 设置,并在项目的 `.claude/settings.json` 和 `.claude/settings.local.json` 中忽略它。从您使用的任何一个地方打开它:
500
501<Tabs>
502 <Tab title="用户设置">
503 将 `spellcheck` 添加到 `~/.claude/settings.json`。它适用于您打开的每个项目,就像您的其他[用户设置](/docs/zh-CN/settings#where-settings-live)一样:
504
505 ```json theme={null}
506 {
507 "spellcheck": { "enabled": true }
508 }
509 ```
510 </Tab>
511
512 <Tab title="命令行">
513 将 `spellcheck` 保存在 JSON 文件中,例如 `spellcheck.json`:
514
515 ```json theme={null}
516 {
517 "spellcheck": { "enabled": true }
518 }
519 ```
520
521 然后将文件传递给 `--settings`。它仅适用于该会话:
522
523 ```bash theme={null}
524 claude --settings spellcheck.json
525 ```
526 </Tab>
527
528 <Tab title="托管设置">
529 将 `spellcheck` 添加到您的组织的[托管设置源](/docs/zh-CN/permissions#managed-settings)之一。它适用于接收这些设置的每个用户,他们无法关闭它:
530
531 ```json theme={null}
532 {
533 "spellcheck": { "enabled": true }
534 }
535 ```
536 </Tab>
537</Tabs>
538
539要检查拼写检查是否打开,请输入一个拼写错误的单词和一个空格。Claude Code 会为该单词加下划线。如果没有,请参阅[当 Claude Code 不加下划线时](#when-claude-code-underlines-nothing)。要再次关闭拼写检查,请在同一位置将 `enabled` 设置为 `false`,或删除 `spellcheck`。
540
541要选择 Claude Code 运行的三个程序中的哪一个、它使用的字典或下划线颜色,请在同一位置在 `enabled` 旁边添加以下任何字段:
542
543* `checker`:`aspell`、`hunspell` 或 `ispell`。Claude Code 不会从您命名的检查器回退,并将任何其他值视为 `auto`。
544* `language`:您的检查器形式中的字典名称,例如 `en_GB`。Claude Code 忽略任何不是纯字典名称的值,例如路径或包含空格的名称,检查器使用其默认字典。
545* `color`:颜色名称,例如 `yellow`,或 `#rrggbb`、`#rgb`、`rgb(r,g,b)`、`ansi256(n)` 或 `ansi:<name>` 值。Claude Code 默认使用您的主题的错误颜色,对于任何它不识别的值也是如此。
546
547例如,此 `spellcheck` 设置运行 hunspell 及其 `en_GB` 字典,并以黄色为单词加下划线。它在 `~/.claude/settings.json`、您传递给 `--settings` 的文件和托管设置中的工作方式相同:
548
549```json theme={null}
550{
551 "spellcheck": {
552 "enabled": true,
553 "checker": "hunspell",
554 "language": "en_GB",
555 "color": "yellow"
556 }
557}
379```558```
380 559
560如果三个地方中有多个具有 `spellcheck` 设置,Claude Code 仅使用其中一个:首先是托管设置,然后是 `--settings`,然后是用户设置。它不会组合来自两个地方的字段。例如,当 `--settings` 设置 `spellcheck` 时,您的用户设置中的 `language` 无效。
561
562<h3 id="what-claude-code-underlines">
563 Claude Code 加下划线的内容
564</h3>
565
566在您暂停输入后不久,Claude Code 会为字典不知道的单词加下划线。它会将您仍在输入的单词单独留下,直到您越过它,并且它永远不会更改您的文本。它也会跳过看起来像代码的文本:
567
568* 命令,例如 `/help`、`@` 提及、URL、文件路径和标志,例如 `--verbose`
569* 包含数字、下划线或第一个字母后的大写字母的单词,以及反引号中的文本
570
571Claude Code 也会跳过中文、日文、韩文、泰文、老挝文、高棉文和缅甸文文本。
572
573Claude Code 没有自己的单词列表:当您的检查器说一个单词拼写错误时,它就是拼写错误的。要停止 Claude Code 为单词加下划线,请按照检查器自己的文档将该单词添加到您的检查器的个人字典中。Claude Code 在您重新启动它后会获取新单词。
574
575<h3 id="when-claude-code-underlines-nothing">
576 当 Claude Code 不加下划线时
577</h3>
578
579当 Claude Code 无法保持检查器运行时,它不加下划线:
580
581* 未安装检查器,或您在 `checker` 中命名的检查器丢失
582* 检查器连续失败两次,在启动时或会话中稍后。Claude Code 在第一次失败后重新启动它,在第二次失败后停止检查,直到您重新启动 Claude Code
583* 检查器需要超过 15 秒来回答,三次。每次,Claude Code 都会将它等待的单词保持未标记;在第三次之后,它停止检查,直到您重新启动 Claude Code
584
585要找出发生了哪种情况,请使用 `claude --debug` 启动拼写检查并输入一个单词。然后在 `~/.claude/debug/<session-id>.txt` 的调试日志中查找 `[spellcheck]` 行。一行命名 Claude Code 启动的程序,或列出它查找但未找到的程序。后面的行说明它为什么停止。那里的缺少字典错误意味着检查器没有您的 `language` 值的字典,或当 `language` 未设置时没有默认字典。安装一个,或将 `language` 设置为您拥有的字典。
586
587<h2 id="review-changes-with-/diff">
588 使用 /diff 查看更改
589</h2>
590
591运行 `/diff` 可以在不离开 Claude Code 的情况下查看工作树中的更改。您可以看到 Claude 迄今为止所做的编辑以及您尚未提交的任何其他内容。
592
593在 `/diff` 从 git 读取的更改中,子模块显示为单个条目,仅当它指向的提交发生更改时才会出现;对子模块内文件的编辑不会显示在那里。
594
595在[全屏渲染](/docs/zh-CN/fullscreen)中,`/diff` 在对话旁边打开[差异面板](#diff-panel),该面板保持打开状态并在您继续工作时更新。在经典渲染器中,`/diff` 在提示符的位置打开[差异查看器](#diff-viewer),您阅读完后可以关闭它。
596
597<h3 id="diff-panel">
598 Diff panel
599</h3>
600
601差异面板列出了更改的文件及其添加和删除的行数,并在列表下方显示每个文件的差异。Claude Code 在 Claude 编辑文件或运行 shell 命令时刷新它。要关闭它,请再次运行 `/diff` 或单击其标题中的 `✕`。
602
603要使用该面板,您需要:
604
605* [全屏渲染](/docs/zh-CN/fullscreen)
606* 一个 git 仓库
607* 至少 110 列宽的终端
608* Claude Code v2.1.260 或更高版本
609
610当面板无法打开时,`/diff` 会打开差异查看器或告诉您原因。
611
612一旦 Claude 开始编辑文件,如果您的终端至少 144 列宽,该面板也会自动打开。在您自己使用 `/diff` 打开它后,后续会话会在 Claude 在任何足够宽的终端中编辑文件时立即打开它。关闭面板后,它在此会话和后续会话中保持关闭状态,直到您再次运行 `/diff`。
613
614当面板打开时,您可以:
615
616* **跳转到文件**:单击列表中的其行。使用鼠标滚轮滚动面板。当文件列表本身太长无法容纳时,使用 `Alt+Up` 和 `Alt+Down` 或 `Ctrl+Up` 和 `Ctrl+Down` 滚动它。
617* **询问 Claude 关于特定行的问题**:在面板中用鼠标选择它们。Claude Code 将选择附加到您的下一个提示,并在您发送之前在输入旁边显示行数。
618* **显示面板遗漏的文件**:列表跳过测试文件和生成的文件,并将此会话之前的更改折叠为底部的一行。单击任一计数行以展开它。
619* **更改面板比较的内容**:按 `Ctrl+X B` 在此会话的更改、您的未提交更改作为一个列表,以及自您的分支从默认分支分离以来的所有内容之间循环。Claude Code 为每个项目记住该选择。
620
621要将快捷键绑定到这些操作,请参阅 [Diff panel actions](/docs/zh-CN/keybindings#diff-panel-actions)。
622
623<h3 id="diff-viewer">
624 Diff viewer
625</h3>
626
627差异查看器取代提示符,直到您关闭它。其**当前**视图显示您来自 git 的未提交更改,或者当没有更改时,显示您的分支在默认分支之上添加的内容。查看器还为 Claude 编辑文件的每个提示后的轮次提供一个轮次视图,仅显示这些编辑。Claude Code 从 Claude 的文件编辑而不是从 git 构建轮次视图,因此 Claude 通过 shell 命令所做的更改仅显示在当前视图下。
628
629在查看器中使用这些快捷键:
630
631* **左和右**:在当前视图和轮次视图之间移动。
632* **上和下**:选择一个文件。
633* **Enter**:打开所选文件的差异。使用上和下或 PageUp 和 PageDown 滚动它。
634* **Esc**:从文件的差异返回到列表,或从列表关闭查看器。
635
636要重新绑定这些快捷键,请参阅 [Diff actions](/docs/zh-CN/keybindings#diff-actions)。
637
381<h2 id="side-questions-with-/btw">638<h2 id="side-questions-with-/btw">
382 使用 /btw 的侧面问题639 使用 /btw 提出附加问题
383</h2>640</h2>
384 641
385使用 `/btw` 快速提问您当前的工作,而不添加到对话历史。当您想要快速答案但不想混乱主要上下文或使 Claude 偏离长时间运行的任务时,这很有用。642使用 `/btw` 提出关于当前工作的问题,而不将其添加到对话历史记录中。
386 643
387```644```
388/btw what was the name of that config file again?645/btw what was the name of that config file again?
389```646```
390 647
391侧面问题可以完全看到当前对话,因此您可以询问 Claude 已经读过的代码、它之前做出的决定或会话中的任何其他内容。问题和答案是短暂的:它们出现在可关闭的覆盖层中,永远不会进入对话历史。648Claude 从对话中已有的内容回答附加问题:你的消息、它的回复以及它收集的工具结果。你可以询问 Claude 已经读过的代码、它之前做出的决定,或会话中的任何其他内容。后来的附加问题也会看到你之前的附加问题:Claude Code 在每次提问时重放最新的 20 个交换,直到你清除它们。问题和答案永远不会进入对话历史记录。在终端中,它们以可关闭的覆盖层形式出现。终端将线程保存在内存中:按 `x` 清除之前的交换,退出 Claude Code 时它就消失了。
649
650在 [VS Code 扩展](/docs/zh-CN/vs-code#use-the-prompt-box)的聊天面板中,`/btw` 打开一个面板而不是本节描述的覆盖层,你可以直接在面板中提出后续问题。该面板的线程在窗口重新加载后仍然存在,遵循该页面描述的保留计划。你需要 v2.1.227 或更高版本的扩展。早期的扩展版本不提供 `/btw`。
651
652* **Claude 工作时可用**:即使 Claude 正在处理响应,你也可以运行 `/btw`。附加问题独立运行,不会中断主要回合。它可以看到到目前为止对话中的所有内容,除了 Claude 仍在编写的回复。
653* **无工具访问**:附加问题仅从上下文中已有的内容回答。Claude 在回答附加问题时无法读取文件、运行命令或搜索。
654* **单一响应**:覆盖层中没有后续回合。要继续线程,请提出另一个 `/btw` 问题。要在本地会话中继续使用完整的工具访问,按 `f` 将此问题和答案分叉到 [后台子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation)。
655* **低成本**:当对话的 [prompt cache](/docs/zh-CN/prompt-caching) 预热时,附加问题的成本仅略高于答案本身。
392 656
393* **Claude 工作时可用**:即使 Claude 正在处理响应时,您也可以运行 `/btw`。侧面问题独立运行,不会中断主要轮次。657你最新的五个之前的附加问题以暗淡的列表形式出现在当前答案上方,并显示任何较旧问题的计数。它们不会进入对话历史记录。
394* **无工具访问**:侧面问题仅从已在上下文中的内容回答。Claude 在回答侧面问题时无法读取文件、运行命令或搜索。
395* **单一响应**:覆盖层中没有后续轮次。要继续该线程,请使用 `f` 将其分叉到自己的会话中。
396* **低成本**:侧面问题重用父对话的提示缓存,因此额外成本最小。
397 658
398来自同一会话的较早侧面问题显示为当前答案上方的暗淡列表。它们保持在对话历史之外,但在覆盖层中保持可见,直到您清除它们。659要在关闭覆盖层后返回到它,运行不带问题的 `/btw`。覆盖层在你最近的交换处重新打开。在 v2.1.212 之前,不带问题的 `/btw` 会打印使用消息。
399 660
400答案出现后,覆盖层接受这些按键。661答案出现后,覆盖层接受这些按键。
401 662
402| 按键 | 操作 |663| 按键 | 操作 |
403| :----------------------- | :---------------------------------------------------------------------------------------------- |664| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
404| `Space`、`Enter`、`Escape` | 关闭答案并返回提示 |665| `Space`、`Enter`、`Escape` | 关闭答案并返回到提示符 |
405| `Up` / `Down` | 滚动答案 |666| `Up` / `Down` | 滚动答案 |
406| `Left` / `Right` | 在此答案和您来自会话的较早 `/btw` 答案之间切换。`Left` 移动到较早的答案,`Right` 返回到当前答案。需要 Claude Code v2.1.187 或更高版本 |667| `Shift+Left` / `Shift+Right` | 在此答案和你之前的 `/btw` 答案之间步进。`Shift+Left` 移动到较旧的答案,`Shift+Right` 返回到当前答案。`[` 和 `]` 执行相同操作,适用于不报告 `Shift` 与箭头键的终端。`Tab` / `Shift+Tab` 循环通过相同的答案。需要 Claude Code v2.1.257 或更高版本。在 v2.1.187 和 v2.1.256 之间,按键是普通的 `Left` / `Right` |
407| `c` | 将答案作为原始 Markdown 复制到您的剪贴板。使用此方法而不是鼠标选择,后者会捕获硬换行的终端呈现而不是源文本 |668| `c` | 将答案作为原始 Markdown 复制到剪贴板。使用此方法而不是鼠标选择,后者会捕获硬换行的终端呈现而不是源文本 |
408| `f` | 分叉到新会话。分叉继承父对话加上此问题和答案作为真实记录轮次,因此您可以继续使用完整工具访问。原始会话保留在 [`/resume`](/docs/zh-CN/commands) 下。仅在本地会话中可用 |669| `f` | 启动 [分叉的子代理](/docs/zh-CN/sub-agents#fork-the-current-conversation),它继承父对话加上此问题和答案,以便它可以继续使用完整的工具访问。你留在当前会话中,并在 [提示符下方的面板](/docs/zh-CN/sub-agents#observe-and-steer-running-forks)中找到分叉。仅在本地会话中可用 |
409| `x` | 清除当前答案上方显示的较早 `/btw` 交换列表 |670| `x` | 清除当前答案上方显示的之前 `/btw` 交换的列表 |
410 671
411`/btw` 是 [subagent](/docs/zh-CN/sub-agents) 的反面:它看到您的完整对话但没有工具,而 subagent 具有完整工具但从空上下文开始。使用 `/btw` 询问 Claude 从此会话已知的内容;使用 subagent 去发现新的东西。672在附加的 [后台会话](/docs/zh-CN/agent-view#attach-to-a-session)中,`Left` 分离并将你返回到代理视图,即使答案仍在到达。附加问题在你离开时继续运行。下次你附加到会话时,覆盖层会重新打开,显示附加问题或其答案。在 v2.1.257 之前,`Left` 在那里不分离。
673
674`/btw` 可以看到你的完整对话,但没有工具。[子代理](/docs/zh-CN/sub-agents)有工具,从它接收的提示开始,或者对于 [分叉](/docs/zh-CN/sub-agents#fork-the-current-conversation),从此对话的副本开始。使用 `/btw` 询问 Claude 从此会话中已知的内容;使用子代理去发现新的东西。
412 675
413<h2 id="task-list">676<h2 id="task-list">
414 任务列表677 任务列表
415</h2>678</h2>
416 679
417任务列表是 Claude 的待办事项清单:Claude 创建的用于规划多步骤工作的项目,带有指示器显示待处理、进行中或完成的内容。它与后台任务视图分开。要查看运行中的 shell 和子代理,请改用 [`/tasks`](/docs/zh-CN/commands)。680任务列表是 Claude 的待办事项清单:Claude 创建的用于规划多步骤工作的项目,带有指示器显示待处理、进行中或已完成的状态。它与后台任务视图分开。要查看运行中的 shell 和子代理,请改用 [`/tasks`](/docs/zh-CN/commands)。
681
682在 [Opus 4.8、Sonnet 5、Fable 5、Mythos 5 以及这些系列的更高版本](/docs/zh-CN/tools-reference#task-tool-availability) 上,Claude 可以跟踪多步骤工作而无需书面清单,Claude Code 不提供填充此列表的工具,因此它保持为空。如果您仍然希望在这些模型上使用任务列表,可以使用 `CLAUDE_CODE_ENABLE_TODO_TOOLS=1` 或 [任务工具可用性](/docs/zh-CN/tools-reference#task-tool-availability) 下的其他方式选择加入。在 Opus 4.7 等早期模型上,以及在您选择加入后,任务列表的工作方式如下:
418 683
419* 按 `Ctrl+T` 切换任务列表视图。显示一次最多五个任务。当 Claude 还没有创建任何清单项目时,切换没有可见效果,因为没有任何内容可显示684* 按 `Ctrl+T` 切换任务列表视图。显示一次最多显示五个任务。当 Claude 尚未创建任何清单项目时,切换没有可见效果,因为没有要显示的内容
420* 要查看所有任务或清除它们,直接询问 Claude:"show me all tasks"或"clear all tasks"685* 如果您保持列表展开,Claude Code 会在下次启动仍有任务的会话时恢复展开视图,例如使用 `--resume` 或 `--continue`。当任务列表为空时,Claude Code 会将其启动为折叠状态
421* 任务在上下文压缩中持续存在,帮助 Claude 在较大的项目上保持组织686* 要查看所有任务或清除它们,直接询问 Claude:"show me all tasks"(显示所有任务)或 "clear all tasks"(清除所有任务)
422* 要在会话之间共享任务列表,请设置 `CLAUDE_CODE_TASK_LIST_ID` 以使用 `~/.claude/tasks/` 中的命名目录:`CLAUDE_CODE_TASK_LIST_ID=my-project claude`687* 任务在上下文压缩中保持,帮助 Claude 在较大的项目中保持组织
688* 要在会话间共享任务列表,设置 `CLAUDE_CODE_TASK_LIST_ID` 以使用 `~/.claude/tasks/` 中的命名目录:`CLAUDE_CODE_TASK_LIST_ID=my-project claude`
423 689
424<h2 id="session-recap">690<h2 id="session-recap">
425 会话回顾691 会话回顾
426</h2>692</h2>
427 693
428当您从离开后返回终端时,Claude Code 会显示到目前为止会话中发生的情况的单行回顾。回顾在后台生成,一旦自上次完成的轮次以来至少已经过了三分钟且终端未聚焦,就会生成,因此当您切换回来时已准备好。回顾仅在会话至少有三个轮次后出现,并且永远不会连续出现两次。694当你离开终端后返回时,Claude Code 会显示一行简短的回顾,说明到目前为止会话中发生了什么。一旦距离上次完成的轮次至少过了三分钟,且终端处于未聚焦状态,回顾就会在后台生成,这样当你切换回来时就已准备好。只有当会话至少有三个轮次时,回顾才会出现,且永远不会连续出现两次。
695
696运行 `/recap` 可按需生成摘要。Claude Code 将自动回顾和 `/recap` 输出都限制在 400 个字符以内。要关闭自动回顾,请打开 `/config` 并关闭**会话回顾**。
429 697
430运行 `/recap` 以按需生成摘要。要关闭自动回顾,打开 `/config` 并禁用**会话回顾**。698会话回顾在所有计划和提供商上默认启用。在非交互模式下,回顾始终被跳过。
699
700<h2 id="wait-for-a-usage-limit-to-reset">
701 等待使用限制重置
702</h2>
431 703
432会话回顾在每个计划和提供商上默认启用。回顾在非交互模式下始终被跳过。704当 claude.ai [使用限制](/docs/zh-CN/errors#youve-hit-your-session-limit) 在任务中途停止 Claude 时,Claude Code 会在打开的会话中等待,并在限制重置后自动继续该任务。在使用 claude.ai 订阅登录的交互式会话中,自动继续功能默认处于启用状态。需要 Claude Code v2.1.234 或更高版本。
705
706Claude Code 等待时,会话底部的一行显示何时继续:
707
708```text theme={null}
709Usage limit reached · continuing automatically at 3:45pm · esc to cancel
710```
711
712保持会话打开。接下来发生的情况取决于等待如何结束:
713
714* **在重置时**:该行显示 `continuing shortly`,然后显示 `Usage limit reset · continuing automatically`,Claude Code 向 Claude 发送一个固定提示以从停止的地方继续任务。它不会重新发送您的最后一条消息。
715* **计算机睡眠后**:如果睡眠超过约 30 分钟,并且限制在睡眠期间重置,该行显示 `Your usage limit has reset · press enter to continue`。按 `Enter` 继续。睡眠时间较短后,Claude Code 会自动继续。
716* **提前**:当您使用 `/usage-credits` 完成添加 [使用额度](/docs/zh-CN/costs#add-usage-credits-to-your-subscription)、在 `/upgrade` 后重新登录或在等待期间使用 `/model` 切换模型时,Claude Code 会检查使用情况是否再次可用,如果可用则立即继续。它不会在您在浏览器中自行进行的升级或购买后进行检查。在 [`opusplan`](/docs/zh-CN/model-config#opusplan-model-setting) 和其他在不同模型上运行计划模式的模型设置下,Claude Code 会等待重置。
717
718继续的任务像任何其他轮次一样运行。Claude Code 仍然照常要求 [权限](/docs/zh-CN/permissions),因此任务可能在您离开时在提示处停止。如果再次达到限制,Claude Code 最多会自动重新启动等待两次,然后停止并显示 `Automatic continue stopped after repeated usage-limit hits · /rate-limit-options to try again`。
719
720<h3 id="cancel-the-wait">
721 取消等待
722</h3>
723
724在空提示处按 `Esc`,或在显示该行时按 `Ctrl+C`,或运行 [`/rate-limit-options`](/docs/zh-CN/commands#all-commands) 并选择 **Don't continue automatically**。Claude Code 会确认一行以 `Automatic continue cancelled` 开头的消息。
725
726取消后,在您发送提示或再次从 `/rate-limit-options` 中选择以 **Wait here, then continue automatically** 开头的行之前,不会继续任何操作。Claude Code 不会为该重置窗口自动启动等待;下一个重置窗口会重新开始。
727
728在这些情况下,等待也会在不继续任务的情况下结束:
729
730* **您发送提示**:Claude Code 运行您的提示而不是等待。
731* **您退出 Claude Code**:当您恢复会话时,等待不会重新启动。
732* **对话转手**:您使用 `/login` 切换账户、清除或倒带对话、`/resume` 另一个会话、使用 `/teleport` 拉取一个会话、使用 `/tui` 重新启动,或将会话交给 Claude Desktop、后台会话或云端。
733* **设置关闭,或重置超过 24 小时**:这仅结束 Claude Code 自动启动的等待。您从 `/rate-limit-options` 中选择的等待会继续倒计时。
734* **继续被阻止**:一个阻止继续提示的 [`UserPromptSubmit` hook](/docs/zh-CN/hooks#userpromptsubmit),或在到达模型之前的失败,会结束等待。Claude Code 会告诉您继续没有运行。发送提示以继续。
735
736<h3 id="start-a-wait-yourself">
737 自己启动等待
738</h3>
739
740Claude Code 在这些情况下不会自动启动等待:
741
742* **Remote Control 和 agent team 队友会话**:该终端的人员仍然可以启动一个。
743* **重置超过 24 小时**:每周限制可能在几天后重置。
744* **您运行该系列之外的模型时的 Opus 或 Sonnet 限制**:您的下一轮可能不会达到该限制。[`opusplan`](/docs/zh-CN/model-config#opusplan-model-setting) 和其他在受限系列上运行计划模式的模型设置不会获得此例外。
745
746在这些情况下,以及每当自动继续关闭时,当您在自己的终端达到限制时,Claude Code 会在每个重置窗口打开一次使用限制选项菜单。选择以 **Wait here, then continue automatically** 开头的行以启动等待。在 [Remote Control](/docs/zh-CN/remote-control) 或 [agent team](/docs/zh-CN/agent-teams) 队友会话中,自己运行 `/rate-limit-options` 以打开菜单。
747
748Claude Code 在这些情况下根本不提供等待:
749
750* **后台会话和 `-p` 运行**:菜单行不可用。
751* **API 密钥、云提供商和基于使用情况的计费**:那里的使用情况按请求计量,因此没有重置可等待。
752* **没有保存的 claude.ai 登录的 [LLM gateway](/docs/zh-CN/llm-gateway#subscriptions-and-gateways)**:Claude Code 仅在保存的 claude.ai 登录是活跃凭证时才提供等待。
753
754<h3 id="turn-automatic-continue-off">
755 关闭自动继续
756</h3>
757
758在 `/config` 中,关闭 **Continue automatically at usage limit**,或在您的用户设置中将 [`autoContinueAtUsageLimit`](/docs/zh-CN/settings-reference#autocontinueatusagelimit) 设置为 `false`。`/config autoContinueAtUsageLimit=false` 也有效,包括使用 `-p`,但 `key=value` 形式无法将其重新打开,因为该设置授予无人值守执行。Claude Code 为此密钥读取的设置文件在 [settings reference](/docs/zh-CN/settings-reference#autocontinueatusagelimit) 中。
433 759
434<h2 id="pr-review-status">760<h2 id="pr-review-status">
435 PR 审查状态761 PR 审查状态
436</h2>762</h2>
437 763
438在处理具有开放拉取请求的分支时,Claude Code 在页脚中显示可点击的 PR 链接,例如"PR #446"。该链接具有彩色下划线,指示审查状态:764在处理具有开放拉取请求的分支时,Claude Code 在页脚显示可点击的 PR 链接,例如"PR #446"。该链接有一个彩色下划线,指示审查状态:
439 765
440* 绿色:已批准766* 绿色:已批准
441* 黄色:待审查767* 黄色:待审查
442* 红色:请求更改768* 红色:请求更改
443* 灰色:草稿769* 灰色:草稿
444 770
445拉取请求合并或关闭后,徽章消失。`Cmd+click`(macOS)或 `Ctrl+click`(Windows/Linux)点击链接以在浏览器中打开拉取请求。状态每 60 秒刷新一次,并在会话中运行 `gh pr` 或 `git push` 命令后立即刷新。771拉取请求合并或关闭后,徽章消失。
772
773`Cmd+click`(macOS)或 `Ctrl+click`(Windows/Linux)点击链接以在浏览器中打开拉取请求。
774
775状态在 `git push` 或更改拉取请求的 `gh pr` 命令(例如 `gh pr create` 或 `gh pr merge`)在会话中成功后立即刷新。
776
777Claude Code 将徽章呈现为超链接,即使它无法在您的终端中检测到超链接支持,这通常发生在 SSH 或 tmux 中。设置 [`FORCE_HYPERLINK=0`](/docs/zh-CN/env-vars) 以将徽章呈现为纯文本。
778
779当您设置 [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/zh-CN/env-vars) 时,Claude Code 不会检查拉取请求或合并请求状态。
446 780
447<Note>781<Note>
448 PR 状态需要安装并验证 `gh` CLI(`gh auth login`)。782 GitHub 仓库的 PR 状态需要 GitHub 令牌。Claude Code 根据远程主机查找令牌:
783
784 * **github.com**:`GH_TOKEN` 或 `GITHUB_TOKEN`,或由 `gh auth login` 保存的令牌。没有令牌时,当未安装 `gh` CLI 时页脚显示 `install gh for PR status`,或当已安装时显示 `gh auth login for PR status`
785 * **设置为 `GH_HOST` 的 GitHub Enterprise 主机**:`GH_ENTERPRISE_TOKEN` 或 `GITHUB_ENTERPRISE_TOKEN`,或由 `gh auth login --hostname <host>` 保存的令牌。没有令牌时,页脚显示相同的提示
786 * **任何其他 GitHub 主机**:由 `gh auth login --hostname <host>` 保存的令牌。没有令牌时,Claude Code 不显示徽章和提示
449</Note>787</Note>
450 788
789<h3 id="gitlab-merge-requests">
790 GitLab 合并请求
791</h3>
792
793当您在具有开放 GitLab 合并请求的分支上工作时,Claude Code 在页脚槽中显示可点击的 `MR !N` 徽章,该槽位通常保存 GitHub PR 链接。`!N` 是 GitLab 自己的合并请求编号 N 的参考语法。彩色下划线显示合并请求的状态:
794
795* 绿色:GitLab 报告合并请求可合并
796* 黄色:任何其他开放状态
797* 灰色:草稿
798
799合并请求合并或关闭后,徽章消失。
800
801它在 `git push` 或更改合并请求的 `glab mr` 命令(例如 `glab mr create` 或 `glab mr merge`)在会话中成功后立即刷新。
802
803要获取徽章,您需要:
804
805* Claude Code v2.1.234 或更高版本
806* 指向您的 GitLab 主机的仓库远程,可以是 gitlab.com 或自管理实例
807* 您的 `PATH` 中的 [`glab` CLI](https://gitlab.com/gitlab-org/cli),使用 `glab auth login` 进行身份验证
808
809Claude Code 在检查状态时忽略 `glab` 的令牌环境变量(例如 `GITLAB_TOKEN`),因此您无法仅从导出的令牌获得徽章。Claude Code 还每个会话查找一次 `glab` 及其登录信息,因此在安装 `glab` 或运行 `glab auth login` 后重启 Claude Code。
810
811<h2 id="issue-reference-links">
812 问题参考链接
813</h2>
814
815当 Claude 提到一个问题为 `owner/repo#123` 时,只要你的终端支持超链接,你就可以点击该参考来打开它。如果 Claude Code 没有检测到你的终端支持超链接,请设置 [`FORCE_HYPERLINK`](/docs/zh-CN/env-vars) 为 `1` 来打开链接,或设置为 `0` 来保持参考为纯文本。
816
817你只能获得两部分 `owner/repo#123` 形式的链接。这些保持为纯文本:
818
819* 一个单独的 `#123`
820* 一个嵌套的 GitLab 路径,例如 `group/subgroup/project#123`
821* 代码跨度或代码块内的任何参考
822
823Claude Code 根据它从你的 git remote 识别的仓库主机来构建链接,而不是根据参考命名的仓库:
824
825| 你的仓库的主机 | `owner/repo#123` 链接到 |
826| :----------------------------------------- | :------------------------------------------- |
827| github.com、GitHub Enterprise 主机或下面未列出的任何主机 | `https://<host>/owner/repo/issues/123` |
828| gitlab.com | `https://gitlab.com/owner/repo/-/issues/123` |
829| bitbucket.org、codeberg.org 或 gitea.com | 无链接;参考保持为纯文本 |
830
451<h2 id="see-also">831<h2 id="see-also">
452 另请参阅832 另请参阅
453</h2>833</h2>