# Qwen Code 快捷键

> 本文档列出了 Qwen Code 中可用的快捷键。

- 网址：https://funcoding.ai/agents/qwen-code/users/reference/keyboard-shortcuts/
- 来源：Qwen Code 官方文档原文（中文），Apache-2.0 许可，同步于 2026-10-11
- 官方原文：https://qwenlm.github.io/qwen-code-docs/zh/users/reference/keyboard-shortcuts

---
本文档列出了 Qwen Code 中可用的快捷键。

## 通用

| 快捷键                           | 描述                                                                                                                                                                                                                                                                                               |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Esc`                            | 关闭对话框和建议。当 prompt 为空时，取消正在进行的请求；在 IDE 模式外空闲时，按两次打开回退选择器。                                                                                                                                                                                                 |
| `Ctrl+C`                         | 取消正在进行的请求并清空输入。按两次退出应用程序。                                                                                                                                                                                                                                                 |
| `Ctrl+D`                         | 如果输入为空，则退出应用程序。按两次确认。                                                                                                                                                                                                                                                         |
| `Ctrl+L`                         | 清屏。                                                                                                                                                                                                                                                                                             |
| `Ctrl+O` / `Alt/Option+T`      | 切换展开详情模式：展开或折叠所有思考块和工具输出。再次按下可折叠。当 `ui.useTerminalBuffer` 关闭时，切换会用未截断的输出重绘完整对话到终端回滚区。 |
| `Ctrl+S`                       | 为当前项目暂存非空输入，并在下次启动时恢复。当输入为空时，允许长响应完整打印，禁用截断。使用终端的回滚功能查看完整输出。                        |
| `Ctrl+T`                         | 切换工具描述的显示。                                                                                                                                                                                                                                                                               |
| `Alt/Option+M`                   | 在富文本渲染预览和原始/源码模式之间切换 Markdown 输出。在 macOS 上，终端必须将 Option 键作为 Meta 键发送。                                                                                                                                                                                         |
| `Shift+Tab`（Windows 上为 `Tab`）| 循环切换审批模式（`plan` → `default` → `auto-edit` → `auto` → `yolo`）                                                                                                                                                                                                                             |

## 输入提示符

| 快捷键                                                | 描述                                                                                                                          |
| ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `!`                                                   | 当输入为空时，切换 shell 模式。                                                                                               |
| `?`                                                   | 当输入为空时，切换快捷键显示。                                                                                                |
| `/`                                                   | 打开斜杠命令补全。                                                                                                        |
| `@`                                                   | 打开文件、文件夹和其他上下文的补全。                                                                                        |
| `Space`（空 prompt 时）                               | 当已配置语音听写和语音模型时，开始语音听写；长按或点击行为遵循 `general.voice.mode`。                                       |
| `Ctrl+Enter` / `Cmd+Enter` / `Shift+Enter` / `Ctrl+J` | 插入换行符。                                                                                                                  |
| `Down Arrow`                                          | 向下移动一行，然后跳转至行尾，然后查看下一条历史记录。                                                                        |
| `Enter`                                               | 提交当前提示词。当响应正在运行时，引导当前回合。                                                                             |
| `Ctrl+Q`                                              | 将当前提示词或命令排队到下一个回合，而不是引导；它在 Qwen Code 返回空闲后运行。                                              |
| `Up Arrow`（顶部时） / `Esc`                          | 当存在排队消息时，将它们移回输入框进行编辑（只要输入框可见即可用 `Up Arrow`；`Esc` 仅在代理空闲时生效）。当代理正在响应且输入为空时，`Esc` 改为取消正在进行的请求（排队消息随后移回输入框）。 |
| `Meta+D` / `Meta+Delete` / `Ctrl+Delete`              | 删除光标右侧的单词。                                                                                                          |
| `Tab`                                                 | 如果存在当前建议，则自动补全。                                                                                                |
| `Up Arrow`                                            | 向上移动一行，然后跳转至行首，然后查看上一条历史记录。                                                                        |
| `Ctrl+A` / `Home`                                     | 将光标移动到行首。                                                                                                            |
| `Ctrl+B` / `Left Arrow`                               | 将光标向左移动一个字符。当 `@` 补全菜单显示类别标签时，使用 `Ctrl+B`（方向键用于切换标签）。                                                                                               |
| `Ctrl+C`                                              | 清空输入内容                                                                                                                  |
| `Esc`（按两次）                                       | 清空输入内容。                                                                                                                |
| `Ctrl+D` / `Delete`                                   | 删除光标右侧的字符。                                                                                                          |
| `Ctrl+E` / `End`                                      | 将光标移动到行尾。                                                                                                            |
| `Ctrl+F` / `Right Arrow`                              | 将光标向右移动一个字符。当 `@` 补全菜单显示类别标签时，使用 `Ctrl+F`（方向键切换标签）。                                                                                                   |
| `Ctrl+H` / `Backspace`                                | 删除光标左侧的字符。                                                                                                          |
| `Ctrl+K`                                              | 删除从光标到行尾的内容。                                                                                                      |
| `Ctrl+Left Arrow` / `Meta+Left Arrow` / `Meta+B`      | 将光标向左移动一个单词。                                                                                                      |
| `Ctrl+N`                                              | 向下移动一行，然后跳转至行尾，然后查看下一条历史记录。                                                                        |
| `Ctrl+P`                                              | 向上移动一行，然后跳转至行首，然后查看上一条历史记录。                                                                        |
| `Ctrl+R`                                              | 反向搜索输入/shell 历史记录。                                                                                                 |
| `Ctrl+Y`                                              | 重试上一次失败的请求。                                                                                                        |
| `Ctrl+Right Arrow` / `Meta+Right Arrow` / `Meta+F`    | 将光标向右移动一个单词。                                                                                                      |
| `Ctrl+U`                                              | 删除从光标到行首的内容。                                                                                                      |
| `Ctrl+V` / `Option+V`（Windows：`Alt+V`）             | 粘贴剪贴板内容。如果剪贴板包含图片，图片将被保存，并在提示词中插入对它的引用。                                                |
| `Ctrl+W` / `Meta+Backspace` / `Ctrl+Backspace`        | 删除光标左侧的单词。                                                                                                          |
| `Ctrl+X`                                              | 在外部编辑器中打开当前输入内容。                                                                                              |
| `Ctrl+Z`                                              | 撤销上一次输入编辑。                                                                                                          |
| `Ctrl+Shift+Z`                                        | 重做上一次撤销的输入编辑。                                                                                                    |

## 前台 Shell

这些快捷键在交互式前台 shell 命令运行时适用。

| 快捷键                                | 描述                                                                                                                   |
| ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `Ctrl+F`                              | 在 shell 和 prompt 之间切换键盘焦点。当没有 shell 运行时，`Ctrl+F` 将 prompt 光标向右移动。                             |
| `Ctrl+Shift+Up` / `Ctrl+Shift+Down`   | 向上或向下滚动聚焦的 shell。                                                                                           |
| `Ctrl+B`                              | 将 shell 提升为后台任务。子进程继续运行，agent 的回合解除阻塞，shell 出现在 `/tasks` 和后台任务对话框中。               |

## 后台任务对话框

聚焦页脚中的后台任务徽标（从空的输入框按 `Down Arrow`——这会先穿过实时代理面板和 Arena 标签栏（如果存在）），然后按 `Enter` 打开对话框。其中列出后台代理、shell、监控器、工作流运行和记忆梦境。

| 快捷键                    | 描述                                                                                                                                                   |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `Up Arrow` / `Down Arrow` | 在任务之间移动选择。                                                                                                                                   |
| `Enter`                   | 打开所选任务的详情视图。                                                                                                                               |
| `x`                       | 停止所选任务（放弃已暂停的代理）。阻塞你的轮次的前台代理需要再按一次 `x` 确认。                                                                        |
| `r`                       | 恢复所选已暂停的代理。                                                                                                                                 |
| `p`                       | 协作式暂停或恢复所选的后台工作流运行。暂停期间不会启动新代理，但代理调用之间的脚本代码会继续运行。                                                     |
| `s`                       | 保存已完成（完成、失败或已取消）的工作流运行的脚本（仅限详情视图）。                                                                                   |
| `Left Arrow` / `Esc`      | 从详情视图返回列表，或关闭对话框。                                                                                                                     |

## 建议

| 快捷键                  | 描述                                                                                                   |
| ----------------------- | ------------------------------------------------------------------------------------------------------ |
| `Down Arrow` / `Ctrl+N` | 向下导航建议。                                                                                         |
| `Tab` / `Enter`         | 接受选中的建议。                                                                                       |
| `Up Arrow` / `Ctrl+P`   | 向上导航建议。                                                                                         |
| `Right Arrow`           | 当显示类别标签时，切换到下一个补全类别。当 prompt 为空时，也接受 `ghost-text` 建议。                      |
| `Left Arrow`            | 当显示类别标签时，切换到上一个补全类别。                                                               |

> 注意：当 `@` 补全菜单显示类别标签时，`Left Arrow` 和 `Right Arrow` 会切换类别而不是移动光标。如需移动光标，请先按 `Esc` 关闭菜单。`Alt/Option+Arrow` 的单词移动不受影响。

## 历史记录搜索

按 `Ctrl+R` 搜索 prompt 历史记录，或在 shell 模式激活时搜索 shell 历史记录。

| 快捷键                     | 描述                                               |
| -------------------------- | -------------------------------------------------- |
| `Up Arrow` / `Down Arrow`  | 在匹配的历史记录条目中导航。                       |
| `Left Arrow` / `Right Arrow` | 折叠或展开选中的长条目。                         |
| `Tab`                      | 将选中的条目接受到 prompt 中但不发送。             |
| `Enter`                    | 提交选中的条目。                                   |
| `Esc`                      | 关闭历史记录搜索。                                 |

## 单选按钮选择

| 快捷键                        | 描述                                                                                                   |
| ----------------------------- | ------------------------------------------------------------------------------------------------------ |
| `Down Arrow` / `j` / `Ctrl+N` | 向下移动选择。                                                                                         |
| `Enter`                       | 确认选择。                                                                                             |
| `Up Arrow` / `k` / `Ctrl+P`   | 向上移动选择。                                                                                         |
| `1-9`                         | 通过数字选择项目。                                                                                     |
| （多位数字）                  | 对于数字大于 9 的项目，快速连续按下数字键以选择相应的项目。                                            |

## 历史记录回滚

当 `ui.useTerminalBuffer` 已启用（设置 → UI → 虚拟化历史记录）、屏幕阅读器模式关闭、且 Qwen Code 在兼容的交互式终端中运行时（`stdout` 是 TTY、CI 未激活、且 `TERM` 不是 `dumb`）生效，这是普通非屏幕阅读器会话的默认设置。在该模式下，对话历史记录在应用内的视口中渲染，而不是在宿主终端的回滚区中渲染，因此以下按键将替代终端的原生滚动。

| 快捷键            | 描述                                                                     |
| ----------------- | ------------------------------------------------------------------------ |
| `Shift+Up`        | 向上滚动一行历史记录。                                                   |
| `Shift+Down`      | 向下滚动一行历史记录。                                                   |
| `PgUp`            | 向上滚动一页历史记录（视口高度）。                                       |
| `PgDn`            | 向下滚动一页历史记录（视口高度）。                                       |
| `Ctrl+Home`       | 跳转到对话顶部。                                                         |
| `Ctrl+End`        | 跳转到底部（并重新启用实时自动跟随）。                                   |
| **鼠标滚轮**      | 滚动历史记录（每次滚动 3 行）。需要 `ui.mouseTracking`（默认开启）。     |

当 `ui.useTerminalBuffer` 开启且 `ui.mouseTracking` 启用（默认）时，终端会将鼠标事件转发给 qwen-code，从而允许通过鼠标滚轮控制应用内视口。作为副作用，原生的点击拖拽文本选择被程序消费，因此 qwen-code 提供了自己的选择方式：**在历史记录视口中拖拽选择文本，双击选择单词，三击选择行。** 松开鼠标时选择内容会高亮并复制到剪贴板（在本地、通过 SSH 的 OSC 52、以及 tmux 内均有效）。单击清除选择；滚动或新输出也会清除选择。选择目前仅限于可见视口。你仍可以通过在拖拽时按住 `Shift`（在 macOS 终端 / iTerm 中为 `Option`）来回退到终端本身的选择功能。将 `ui.mouseTracking` 设为 `false` 可以完全阻止 qwen-code 捕获鼠标；这将恢复终端的原生右键菜单、OSC 8 超链接点击和点击拖拽选择，但应用内视口将不再响应鼠标，因此请使用上方的键盘快捷键来滚动。

### tmux 触控板滚动

在 tmux 内部，某些终端会在 qwen-code 接收到事件之前，将触控板或滚轮手势转换为普通的 `Up Arrow` 和 `Down Arrow` 序列。这些字节与真实的按键操作完全相同，因此 qwen-code 无法区分你是想滚动视口还是导航 prompt 历史。

如果触控板滚动在 tmux 中更改了 prompt 历史，请确保 `ui.useTerminalBuffer` 已启用；然后使用 `Shift+Up` / `Shift+Down`，或者在 tmux 将滚轮事件转发给应用时使用鼠标滚轮（需要 `ui.mouseTracking`）。如果你更倾向于使用宿主机的回滚缓冲区，请调整 tmux 中针对滚轮事件的鼠标绑定。

## IDE 集成

| 快捷键 | 描述 |
| -------- | --------------------------------- |
| `Ctrl+G` | 查看 CLI 从 IDE 接收的上下文 |
