Files
Knowledge/1 使用/PI Agent.md
T

78 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Pi Agent 的快捷键设计得比较全面,而且支持全按键自定义。它的配置文件位于 `~/.pi/agent/keybindings.json`,修改后无需重启,在 Pi 会话中运行 `/reload` 命令即可生效。
下面整理了 Pi 的默认快捷键,分为几大类:
### ⌨️ 编辑器操作
这些快捷键主要用于在输入框中编辑文本和移动光标。
| 操作 | 默认快捷键 | 说明 |
| :--- | :--- | :--- |
| **光标上移** | `up` | 向上移动光标 |
| **光标下移** | `down` | 向下移动光标 |
| **光标左移** | `left`, `ctrl+b` | 向左移动一个字符 |
| **光标右移** | `right`, `ctrl+f` | 向右移动一个字符 |
| **按词左移** | `alt+left`, `ctrl+left`, `alt+b` | 向左移动一个单词 |
| **按词右移** | `alt+right`, `ctrl+right`, `alt+f` | 向右移动一个单词 |
| **跳到行首** | `home`, `ctrl+a` | 跳转到当前行的开头 |
| **跳到行尾** | `end`, `ctrl+e` | 跳转到当前行的结尾 |
| **删除前一个字符** | `backspace` | 删除光标前的字符 |
| **删除后一个字符** | `delete`, `ctrl+d` | 删除光标后的字符 |
| **删除前一个词** | `ctrl+w`, `alt+backspace` | 删除光标前的一个单词 |
| **删除后一个词** | `alt+d`, `alt+delete` | 删除光标后的一个单词 |
| **删至行首** | `ctrl+u` | 删除从光标到行首的内容 |
| **删至行尾** | `ctrl+k` | 删除从光标到行尾的内容 |
| **撤销** | `ctrl+-` | 撤销上一步编辑操作 |
| **粘贴已删文本** | `ctrl+y` | 粘贴最近删除的文本(Kill Ring) |
### 📝 输入与提交
| 操作 | 默认快捷键 | 说明 |
| :--- | :--- | :--- |
| **换行** | `shift+enter`, `ctrl+j` | 在输入框中插入换行符 |
| **提交** | `enter` | 发送当前输入内容 |
| **Tab/自动补全** | `tab` | 触发路径或命令的自动补全 |
| **外部编辑器** | `ctrl+g` | 在外部编辑器中编辑当前输入内容 |
### 🚀 应用与消息
| 操作 | 默认快捷键 | 说明 |
| :----------- | :---------- | :------------------ |
| **中断/取消** | `escape` | 取消当前正在进行的 AI 操作 |
| **清空编辑区** | `ctrl+c` | 清空当前输入框中的所有内容 |
| **退出** | `ctrl+d` | 当编辑区为空时,退出 Pi Agent |
| **复制 AI 回复** | `ctrl+x` | 复制最后一条 AI 助手的回复消息 |
| **发送跟进消息** | `alt+enter` | 将当前消息排入跟进队列 |
| **取回排队消息** | `alt+up` | 将排队中的消息取回编辑器 |
### 🧠 模型与推理
| 操作 | 默认快捷键 | 说明 |
| :--- | :--- | :--- |
| **模型选择器** | `ctrl+l` | 打开模型选择器,快速切换模型 |
| **向前切换模型** | `ctrl+p` | 切换到下一个模型 |
| **向后切换模型** | `shift+ctrl+p` | 切换到上一个模型 |
| **切换推理等级** | `shift+tab` | 循环切换 AI 的推理强度等级 |
| **切换推理显示** | `ctrl+t` | 展开或折叠 AI 的推理过程 |
| **切换工具输出** | `ctrl+o` | 展开或折叠工具调用的输出结果 |
### ✨ 如何自定义快捷键
Pi 的快捷键完全可定制。你可以通过编辑 `~/.pi/agent/keybindings.json` 文件来修改或禁用任何快捷键。
**配置格式**:文件是一个 JSON 对象,键是操作 ID,值是一个快捷键字符串或字符串数组。
```json
{
"tui.editor.cursorUp": ["up", "ctrl+p"],
"tui.input.submit": "enter",
"tui.input.newLine": ["shift+enter", "ctrl+enter"]
}
```
*(注:操作 ID 可能是命名空间形式,如 `tui.editor.cursorUp`,旧的非命名空间形式如 `cursorUp` 在启动时会自动迁移)*
**快捷键语法**:使用 `修饰键+按键` 的格式。
* **修饰键**:`ctrl`, `shift`, `alt`,可以组合使用,如 `ctrl+shift+x`。
* **按键**:字母(`a`-`z`)、数字(`0`-`9`)、方向键(`up`, `down`)、特殊键(`enter`, `escape`, `tab`, `space`, `backspace`, `delete`, `home`, `end`, `pageUp`, `pageDown`)以及功能键(`f1`-`f20`)等。
* **禁用快捷键**:将快捷键设置为空数组 `[]` 即可移除该默认绑定。
你可以参考默认配置,打造一套完全符合自己习惯的快捷键方案。