键绑定

所有键盘快捷键都可以通过 ~/.pi/agent/keybindings.json 自定义。每个操作可以绑定到一个或多个按键。

按键格式

modifier+key,其中修饰符为 ctrlshiftalt(可组合),按键包括:

  • 字母: a-z
  • 特殊键: escapeescenterreturntabspacebackspacedeleteinsertclearhomeendpageUppageDownupdownleftright
  • 功能键: f1-f12
  • 符号: `-=[]\;',./!@#$%^&*()_+|~{}:<>?

修饰符组合:ctrl+shift+xalt+ctrl+xctrl+shift+alt+x 等。

全部操作

光标移动

操作默认按键说明
cursorUpup向上移动光标
cursorDowndown向下移动光标
cursorLeftleftctrl+b向左移动光标
cursorRightrightctrl+f向右移动光标
cursorWordLeftalt+leftctrl+leftalt+b按词向左移动
cursorWordRightalt+rightctrl+rightalt+f按词向右移动
cursorLineStarthomectrl+a移到行首
cursorLineEndendctrl+e移到行尾
jumpForwardctrl+]向前跳转到字符
jumpBackwardctrl+alt+]向后跳转到字符
pageUppageUp向上翻页
pageDownpageDown向下翻页

删除

操作默认按键说明
deleteCharBackwardbackspace向后删除字符
deleteCharForwarddeletectrl+d向前删除字符
deleteWordBackwardctrl+walt+backspace向后删除单词
deleteWordForwardalt+dalt+delete向前删除单词
deleteToLineStartctrl+u删除到行首
deleteToLineEndctrl+k删除到行尾

文本输入

操作默认按键说明
newLineshift+enter插入换行
submitenter提交输入
tabtabTab / 自动补全

Kill Ring

操作默认按键说明
yankctrl+y粘贴最近删除的文本
yankPopalt+y在 yank 后循环已删除的文本
undoctrl+-撤销上次编辑

剪贴板

操作默认按键说明
copyctrl+c复制选中内容
pasteImagectrl+v从剪贴板粘贴图片

应用

操作默认按键说明
interruptescape取消 / 中止
clearctrl+c清空编辑器
exitctrl+d退出(编辑器为空时)
suspendctrl+z挂起到后台
externalEditorctrl+g在外部编辑器中打开($VISUAL$EDITOR

会话

操作默认按键说明
newSession(无)开始新会话(/new
tree(无)打开会话树导航器(/tree
fork(无)分支当前会话(/fork
resume(无)打开会话恢复选择器(/resume

模型与思考

操作默认按键说明
selectModelctrl+l打开模型选择器
cycleModelForwardctrl+p循环到下一个模型
cycleModelBackwardshift+ctrl+p循环到上一个模型
cycleThinkingLevelshift+tab循环思考级别

显示

操作默认按键说明
expandToolsctrl+o折叠/展开工具输出
toggleThinkingctrl+t折叠/展开思考块

消息队列

操作默认按键说明
followUpalt+enter排队后续消息
dequeuealt+up将排队的消息恢复到编辑器

选择(列表、选择器)

操作默认按键说明
selectUpup向上移动选择
selectDowndown向下移动选择
selectPageUppageUp列表中向上翻页
selectPageDownpageDown列表中向下翻页
selectConfirmenter确认选择
selectCancelescapectrl+c取消选择

会话选择器

操作默认按键说明
toggleSessionPathctrl+p切换路径显示
toggleSessionSortctrl+s切换排序模式
toggleSessionNamedFilterctrl+n切换仅命名会话过滤
renameSessionctrl+r重命名会话
deleteSessionctrl+d删除会话
deleteSessionNoninvasivectrl+backspace删除会话(查询为空时)

自定义配置

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

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

每个操作可以有单个按键或按键数组。用户配置覆盖默认值。

Emacs 示例

{
  "cursorUp": ["up", "ctrl+p"],
  "cursorDown": ["down", "ctrl+n"],
  "cursorLeft": ["left", "ctrl+b"],
  "cursorRight": ["right", "ctrl+f"],
  "cursorWordLeft": ["alt+left", "alt+b"],
  "cursorWordRight": ["alt+right", "alt+f"],
  "deleteCharForward": ["delete", "ctrl+d"],
  "deleteCharBackward": ["backspace", "ctrl+h"],
  "newLine": ["shift+enter", "ctrl+j"]
}

Vim 示例

{
  "cursorUp": ["up", "alt+k"],
  "cursorDown": ["down", "alt+j"],
  "cursorLeft": ["left", "alt+h"],
  "cursorRight": ["right", "alt+l"],
  "cursorWordLeft": ["alt+left", "alt+b"],
  "cursorWordRight": ["alt+right", "alt+w"]
}