Pi Agent 键盘快捷键定制
Pi Agent 的快捷键完全可定制。本章介绍默认快捷键配置以及如何创建自己的快捷键方案。
配置文件
快捷键配置文件位于 ~/.pi/agent/keybindings.json。
修改后执行 /reload 即可生效,无需重启。
快捷键格式
快捷键格式为 修饰键+按键,修饰键包括 ctrl、shift、alt,可以组合使用。
支持的按键:
- 字母:a-z
- 数字:0-9
- 功能键:f1-f12
- 方向键:up、down、left、right
- 特殊键:escape、enter、tab、space、backspace、delete、home、end、pageUp、pageDown
默认快捷键速查
编辑器操作
| 操作 | 默认快捷键 | 说明 |
|---|---|---|
| 光标上移 | 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 | 删除从光标到行尾的内容 |
输入与提交
| 操作 | 默认快捷键 | 说明 |
|---|---|---|
| 换行 | shift+enter, ctrl+j | 插入换行符 |
| 提交 | enter | 发送输入内容 |
| Tab/自动补全 | tab | 触发路径自动补全 |
| 撤销 | ctrl+- | 撤销上一步编辑 |
| 粘贴已删文本 | ctrl+y | 粘贴最近删除的文本 |
应用与消息
| 操作 | 默认快捷键 | 说明 |
|---|---|---|
| 中断/取消 | escape | 取消当前 AI 操作 |
| 清空编辑区 | ctrl+c | 清空编辑区内容 |
| 退出 | ctrl+d | 编辑区为空时退出 |
| 外部编辑器 | ctrl+g | 在外部编辑器中编辑当前输入 |
| 粘贴图片 | ctrl+v | 从剪贴板粘贴图片(Windows: alt+v) |
| 复制 AI 回复 | ctrl+x | 复制最后一条 AI 消息 |
| 发送跟进消息 | alt+enter | 将消息排入跟进队列 |
| 取回排队消息 | alt+up | 将排队消息取回编辑器 |
模型与推理
| 操作 | 默认快捷键 | 说明 |
|---|---|---|
| 模型选择器 | ctrl+l | 打开模型选择器 |
| 向前切换模型 | ctrl+p | 切换到下一个模型 |
| 向后切换模型 | shift+ctrl+p | 切换到上一个模型 |
| 切换推理等级 | shift+tab | 循环切换推理等级 |
| 切换推理显示 | ctrl+t | 展开/折叠 AI 推理过程 |
| 切换工具输出 | ctrl+o | 展开/折叠工具调用输出 |
自定义快捷键配置
Emacs 风格
如果你习惯 Emacs 的快捷键,可以使用以下配置:
实例
{
"tui.editor.cursorUp": ["up", "ctrl+p"],
"tui.editor.cursorDown": ["down", "ctrl+n"],
"tui.editor.cursorLeft": ["left", "ctrl+b"],
"tui.editor.cursorRight": ["right", "ctrl+f"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.cursorWordRight": ["alt+right", "alt+f"],
"tui.editor.deleteCharForward": ["delete", "ctrl+d"],
"tui.editor.deleteCharBackward": ["backspace", "ctrl+h"],
"tui.input.newLine": ["shift+enter", "ctrl+j"]
}
"tui.editor.cursorUp": ["up", "ctrl+p"],
"tui.editor.cursorDown": ["down", "ctrl+n"],
"tui.editor.cursorLeft": ["left", "ctrl+b"],
"tui.editor.cursorRight": ["right", "ctrl+f"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.cursorWordRight": ["alt+right", "alt+f"],
"tui.editor.deleteCharForward": ["delete", "ctrl+d"],
"tui.editor.deleteCharBackward": ["backspace", "ctrl+h"],
"tui.input.newLine": ["shift+enter", "ctrl+j"]
}
Vim 风格
如果你习惯 Vim 的方向键,可以使用以下配置:
实例
{
"tui.editor.cursorUp": ["up", "alt+k"],
"tui.editor.cursorDown": ["down", "alt+j"],
"tui.editor.cursorLeft": ["left", "alt+h"],
"tui.editor.cursorRight": ["right", "alt+l"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.cursorWordRight": ["alt+right", "alt+w"]
}
"tui.editor.cursorUp": ["up", "alt+k"],
"tui.editor.cursorDown": ["down", "alt+j"],
"tui.editor.cursorLeft": ["left", "alt+h"],
"tui.editor.cursorRight": ["right", "alt+l"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.cursorWordRight": ["alt+right", "alt+w"]
}
Pi Agent 的快捷键配置会覆盖默认值。每个操作可以绑定一个或多个快捷键。配置文件中未列出的操作保持默认快捷键不变。
查看所有快捷键
在交互模式中,使用以下命令显示所有快捷键及其当前绑定:
/hotkeys
这个命令会列出所有可用的快捷键操作、当前绑定和所属的功能区域,是排查快捷键冲突或查找特定功能快捷键的最佳方式。
