PI DOCUMENTATION / 日本語

キーバインドリファレンス

原文を読む ↗
非公式日本語訳機械翻訳・対訳チェック済み更新 2026/10/01

Pi では、app.session.new などの名前付きアクションが公開されており、キーバインドを割り当てられます。Pi のユーザー設定で、デフォルトの割り当てを変更したり、未割り当てのアクションにキーを割り当てたりできます。

/hotkeys を実行すると、メインエディターとアプリケーションで現在有効なショートカットを確認できます。

キーバインドの割り当て#

<agent-dir>/keybindings.json を作成します。エージェントディレクトリのデフォルトは ~/.pi/agent で、エージェントディレクトリで説明されています。

各アクション識別子を、1 つのキーまたはキーのリストにマッピングします。

json
{
  "app.session.new": "ctrl+shift+n",
  "app.session.tree": ["ctrl+shift+t", "alt+shift+t"]
}

設定した値は、そのアクションのデフォルト値を置き換えます。アクションのキーバインドを無効にするには、空のリストを使用します。

json
{
  "tui.altScreen.pageUp": []
}

ファイルを編集した後、/reload を実行して、変更をアクティブなセッションに適用します。

キー構文#

キーは modifier+key の形式で記述します。修飾キーは ctrl、shift、alt、super です。修飾キーは組み合わせられます。有効なキーは次のとおりです。

  • 英字: a-z
  • 数字: 0-9
  • 特殊キー: escape、esc、enter、return、tab、space、backspace、delete、insert、clear、home、end、pageUp、pageDown、up、down、left、right
  • ファンクションキー: f1~f12
  • 記号: `、-、=、[、]、\、;、'、,、.、/、!、@、#、$、%、^、&、*、(、)、_、+、|、~、{、}、:、<、>、?

例: ctrl+shift+x、alt+ctrl+x、ctrl+shift+alt+x、super+k、ctrl+super+k、ctrl+1。

super のキーバインドには、通常は Kitty キーボードプロトコルを介して、修飾キーを個別に報告するターミナルが必要です。そのサポートがないターミナルでは動作しない場合があります。

アクション#

ターミナル UI#

カーソル移動#

キーバインド ID デフォルト 説明
tui.editor.cursorUp up カーソルを上に移動し、先頭では古い履歴を参照します
tui.editor.cursorDown down カーソルを下に移動し、末尾では新しい履歴を参照します
tui.editor.historyPrevious なし プロンプト履歴の前のエントリを選択します
tui.editor.historyNext なし プロンプト履歴の次のエントリを選択します
tui.editor.cursorLeft left、ctrl+b カーソルを左に移動します
tui.editor.cursorRight right、ctrl+f カーソルを右に移動します
tui.editor.cursorWordLeft alt+left、ctrl+left、alt+b カーソルを 1 単語左に移動します
tui.editor.cursorWordRight alt+right、ctrl+right、alt+f カーソルを 1 単語右に移動します
tui.editor.cursorLineStart home、ctrl+home、ctrl+a 行頭に移動します
tui.editor.cursorLineEnd end、ctrl+end、ctrl+e 行末に移動します
tui.editor.jumpForward ctrl+] 指定した文字へ前方にジャンプします
tui.editor.jumpBackward ctrl+alt+] 指定した文字へ後方にジャンプします
tui.editor.pageUp pageUp、ctrl+pageUp 1 ページ上にスクロールします
tui.editor.pageDown pageDown、ctrl+pageDown 1 ページ下にスクロールします

専用の履歴アクションは、カーソル位置に関係なくプロンプト履歴を参照し、同じキーを使用するアプリケーションアクションより優先されます。

テキスト編集#

キーバインド ID デフォルト 説明
tui.editor.deleteCharBackward backspace 前の文字を削除します
tui.editor.deleteCharForward delete、ctrl+d 次の文字を削除します
tui.editor.deleteWordBackward ctrl+w、alt+backspace 前の単語を削除します
tui.editor.deleteWordForward alt+d、alt+delete 次の単語を削除します
tui.editor.deleteToLineStart ctrl+u 行頭まで削除します
tui.editor.deleteToLineEnd ctrl+k 行末まで削除します
tui.editor.yank ctrl+y 最後に削除したテキストを貼り付けます
tui.editor.yankPop alt+y ヤンク後に削除済みテキストを順に切り替えます
tui.editor.undo ctrl+-(Windows では ctrl+z、WSL では alt+z) 直前の編集を元に戻します

入力と選択#

キーバインド ID デフォルト 説明
tui.input.newLine shift+enter、ctrl+j 改行を挿入します
tui.input.submit enter 入力を送信します
tui.input.tab tab タブを入力するか、自動補完します
tui.input.copy ctrl+c 選択範囲をコピーします
tui.select.up up 選択位置を上に移動します
tui.select.down down 選択位置を下に移動します
tui.select.pageUp pageUp リスト内で 1 ページ上に移動します
tui.select.pageDown pageDown リスト内で 1 ページ下に移動します
tui.select.confirm enter 選択を確定します
tui.select.cancel escape、ctrl+c 選択をキャンセルします

フルスクリーン#

フルスクリーンモードでは、これらのアクションがトランスクリプトを制御し、同じキーを使用するエディターアクションより優先されます。

キーバインド ID デフォルト 説明
tui.altScreen.pageUp pageUp トランスクリプトを 1 ページ上にスクロールします
tui.altScreen.pageDown pageDown トランスクリプトを 1 ページ下にスクロールします
tui.altScreen.halfPageUp なし トランスクリプトを半ページ上にスクロールします
tui.altScreen.halfPageDown なし トランスクリプトを半ページ下にスクロールします
tui.altScreen.lineUp なし トランスクリプトを 1 行上にスクロールします
tui.altScreen.lineDown なし トランスクリプトを 1 行下にスクロールします
tui.altScreen.previousPrompt ctrl+shift+up、ctrl+up(Windows と WSL では ctrl+up のみ) 前のマーク付きメッセージにジャンプします
tui.altScreen.nextPrompt ctrl+shift+down、ctrl+down(Windows と WSL では ctrl+down のみ) 次のマーク付きメッセージにジャンプします
tui.altScreen.search ctrl+shift+f(Windows と WSL では ctrl+f) レンダリングされたトランスクリプトを検索します
tui.altScreen.searchNext enter、ctrl+g 検索中に次の一致項目を選択します
tui.altScreen.searchPrevious shift+enter、ctrl+shift+g 検索中に前の一致項目を選択します
tui.altScreen.searchClose escape トランスクリプト検索を閉じます
tui.altScreen.top home トランスクリプトの先頭までスクロールします
tui.altScreen.bottom end トランスクリプトの末尾までスクロールし、新しい出力を追尾します

アプリケーション#

キーバインド ID デフォルト 説明
app.interrupt escape キャンセル / 中止
app.clear ctrl+c エディターをクリア(1 回目)/ 終了(2 回目)
app.exit ctrl+d 終了(エディターが空の場合)
app.suspend ctrl+z(Windows ではなし) バックグラウンドに一時停止
app.editor.external ctrl+g 外部エディターで開く(externalEditor、$VISUAL、$EDITOR、Windows ではメモ帳、それ以外では nano)
app.clipboard.pasteImage ctrl+v(Windows および WSL では alt+v) macOS ではファイルを、またはクリップボードから画像やテキストを貼り付ける

ネイティブ Windows では、Windows ターミナルが Unix のジョブ制御をサポートしていないため、app.suspend にデフォルトはありません。手動で割り当てた場合、Pi はサスペンドする代わりにステータスメッセージを表示します。WSL では通常どおり ctrl+z と fg を使用できます。

セッション#

キーバインド ID デフォルト 説明
app.session.new なし 新しいセッションを開始します(/new)
app.session.tree なし セッションツリーナビゲーターを開きます(/tree)
app.session.fork なし 現在のセッションをフォークします(/fork)
app.session.resume なし セッション再開ピッカーを開きます(/resume)
app.session.togglePath ctrl+p パス表示を切り替えます
app.session.toggleSort ctrl+s 並べ替えモードを切り替えます
app.session.toggleNamedFilter ctrl+n 名前付き項目のみのフィルターを切り替えます
app.session.rename ctrl+r セッション名を変更します
app.session.delete ctrl+d セッションを削除します
app.session.deleteNoninvasive ctrl+backspace クエリが空の場合にセッションを削除します

モデルと思考#

キーバインド ID デフォルト 説明
app.model.select ctrl+l モデルセレクターを開きます
app.model.cycleForward ctrl+p 次のモデルに切り替えます
app.model.cycleBackward shift+ctrl+p(Windows と WSL では alt+p) 前のモデルに切り替えます
app.models.save ctrl+s 選択したデフォルトモデルまたはスコープ付きモデル設定を設定に保存します
app.thinking.cycle shift+tab 思考レベルを切り替えます
app.thinking.save ctrl+s 現在の思考レベルを設定に保存します
app.thinking.toggle ctrl+t 思考ブロックを折りたたむか展開します

表示とメッセージキュー#

キーバインド ID デフォルト 説明
app.tools.expand ctrl+o ツール出力を折りたたむか展開します
app.message.copy ctrl+x /tree では選択したメッセージをコピーします。フルスクリーンモードでは、fullscreenCopyOnSelect が false の場合にアクティブな選択範囲をコピーします。それ以外の場合は、最後のアシスタントメッセージをコピーします
app.message.followUp alt+enter(Windows と WSL では ctrl+q) フォローアップメッセージをキューに追加します
app.message.dequeue alt+up(Windows と WSL では alt+q) キュー内のメッセージをエディターに戻します

ツリーナビゲーション#

キーバインド ID デフォルト 説明
app.tree.foldOrUp ctrl+left、alt+left 現在の分岐セグメントを折りたたむか、前のセグメントの開始位置にジャンプします
app.tree.unfoldOrDown ctrl+right、alt+right 現在の分岐セグメントを展開するか、次のセグメントの開始位置または分岐の末尾にジャンプします
app.tree.editLabel shift+l 選択したツリーノードのラベルを編集します
app.tree.toggleLabelTimestamp shift+t ツリー内のラベルのタイムスタンプ表示を切り替えます
app.tree.filter.default ctrl+d ツリーフィルターをデフォルト表示に設定します
app.tree.filter.noTools ctrl+t ツール結果を非表示にするツリーフィルターを切り替えます
app.tree.filter.userOnly ctrl+u ユーザーメッセージのみを表示するツリーフィルターを切り替えます
app.tree.filter.labeledOnly ctrl+l ラベル付きエントリのみを表示するツリーフィルターを切り替えます
app.tree.filter.all ctrl+a すべてのエントリを表示するツリーフィルターを切り替えます
app.tree.filter.cycleForward ctrl+o ツリーフィルターを順方向に切り替えます
app.tree.filter.cycleBackward shift+ctrl+o ツリーフィルターを逆方向に切り替えます

スコープ付きモデルセレクター#

スコープ対象モデルセレクター(/scoped-models で開きます)内で使用します。

キーバインド ID デフォルト 説明
app.models.enableAll ctrl+a すべてのモデル(または現在の検索に一致するすべてのモデル)を有効にする
app.models.clearAll ctrl+x すべてのモデル(または現在の検索に一致するすべてのモデル)をクリアする
app.models.toggleProvider ctrl+p 現在のプロバイダーのすべてのモデルを切り替える
app.models.reorderUp alt+up 選択したモデルを循環順で上に移動する
app.models.reorderDown alt+down 選択したモデルを循環順で下に移動する

日本語やコマンド名で検索できます。