Keybindings(快捷键)

本页面是 Pi 官方文档 的中文翻译。仅供学习参考。

所有键盘快捷键可通过 ~/.pi/agent/keybindings.json 自定义。每个操作可绑定一个或多个按键。编辑文件后运行 /reload 在 Pi 中应用更改,无需重启。

按键格式

格式:modifier+key,修饰键包括 ctrlshiftalt(可组合)。

  • 字母键a-z
  • 数字键0-9
  • 特殊键:escape、esc、enter、return、tab、space、backspace、delete、insert、clear、home、end、pageUp、pageDown、up、down、left、right
  • 功能键f1f12
  • 符号`-=[]\;',./

修饰键组合示例:ctrl+shift+xalt+ctrl+xctrl+1

所有操作分类

TUI 编辑器光标移动

ID默认键说明
tui.editor.cursorUpup光标上移
tui.editor.cursorDowndown光标下移
tui.editor.cursorLeftleftctrl+b光标左移
tui.editor.cursorRightrightctrl+f光标右移
tui.editor.cursorWordLeftalt+leftctrl+leftalt+b光标左移一个单词
tui.editor.cursorWordRightalt+rightctrl+rightalt+f光标右移一个单词
tui.editor.cursorLineStarthomectrl+a移至行首
tui.editor.cursorLineEndendctrl+e移至行尾
tui.editor.pageUppageUp上翻页
tui.editor.pageDownpageDown下翻页

TUI 编辑器删除

ID默认键说明
tui.editor.deleteCharBackwardbackspace删除前一个字符
tui.editor.deleteCharForwarddeletectrl+d删除后一个字符
tui.editor.deleteWordBackwardctrl+walt+backspace向前删除一个单词
tui.editor.deleteWordForwardalt+dalt+delete向后删除一个单词
tui.editor.deleteToLineStartctrl+u删除到行首
tui.editor.deleteToLineEndctrl+k删除到行尾

TUI 输入

ID默认键说明
tui.input.newLineshift+enter插入新行
tui.input.submitenter提交输入
tui.input.tabtabTab / 自动补全

TUI 剪贴板

ID默认键说明
tui.input.copyctrl+c复制选中
tui.editor.yankctrl+y粘贴最近删除的文本
tui.editor.yankPopalt+y循环已删除文本
tui.editor.undoctrl+-撤销

应用程序

ID默认键说明
app.interruptescape取消/中断
app.clearctrl+c清空编辑器
app.exitctrl+d退出(编辑器为空时)
app.suspendctrl+z挂起到后台
app.editor.externalctrl+g在外部编辑器中打开
app.clipboard.pasteImagectrl+v从剪贴板粘贴图像

会话

ID默认键说明
app.session.new开始新会话
app.session.tree打开会话树导航器
app.session.fork分叉当前会话
app.session.resume打开会话选择器

模型和思维

ID默认键说明
app.model.selectctrl+l打开模型选择器
app.model.cycleForwardctrl+p切换到下一个模型
app.model.cycleBackwardshift+ctrl+p切换到上一个模型
app.thinking.cycleshift+tab循环切换 thinking level
app.thinking.togglectrl+t折叠/展开 thinking block

显示和消息队列

ID默认键说明
app.tools.expandctrl+o折叠/展开工具输出
app.message.followUpalt+enter队列 follow-up 消息
app.message.dequeuealt+up恢复队列消息到编辑器

树导航

ID默认键说明
app.tree.foldOrUpctrl+leftalt+left折叠分支段
app.tree.unfoldOrDownctrl+rightalt+right展开分支段
app.tree.editLabelshift+l编辑节点标签
app.tree.filter.cycleForwardctrl+o循环树过滤器

自定义配置

创建 ~/.pi/agent/keybindings.json

{
  "tui.editor.cursorUp": ["up", "ctrl+p"],
  "tui.editor.cursorDown": ["down", "ctrl+n"],
  "tui.editor.deleteWordBackward": ["ctrl+w", "alt+backspace"]
}

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"]
}

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"]
}

法律声明:本页面是 pi.dev 官方文档的中文翻译版本,仅供学习参考。本网站与 pi.dev 及 Earendil Inc. 无任何法律关系。