@zigai/pi-keymap-tweaks

Pi package for opinionated editor and message-submit key tweaks.

Packages

Package details

extension

Install @zigai/pi-keymap-tweaks from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@zigai/pi-keymap-tweaks
Package
@zigai/pi-keymap-tweaks
Version
0.4.0
Published
Sep 21, 2026
Downloads
230/mo · 12/wk
Author
zigai
License
MIT
Types
extension
Size
27.1 KB
Dependencies
2 dependencies · 5 peers
Pi manifest JSON
{
  "extensions": [
    "./src/index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

Pi Keymap Tweaks

Opinionated editor and message-submit key tweaks for Pi.

Features

  • Makes Enter queue a follow-up and Alt+Enter steer the current run.
  • Normalizes terminal LF Enter input to submit correctly in SSH/TMUX sessions.
  • Prevents Up from recalling prompt history while a non-empty draft is open.
  • Uses Pi's configured app.models.clearAll key (recommended as Ctrl+X) to copy and delete the current editor line.
  • Adds Codex-style line start/end behavior for Pi's configured tui.editor.cursorLineStart and tui.editor.cursorLineEnd actions:
    • line start moves to the previous line when already at column 0
    • line end moves to the next line when already at the current line end
  • Supports cycling thinking levels backward, unbound by default and configurable via extension settings or Pi keybindings.

Recommended keybindings

This extension provides behavior; key assignments still live in your Pi keybindings config.

{
  "tui.editor.cursorWordLeft": ["ctrl+a", "ctrl+left", "alt+left", "alt+b"],
  "tui.editor.cursorWordRight": ["ctrl+d", "ctrl+right", "alt+right", "alt+f"],
  "tui.editor.cursorLineStart": ["home", "ctrl+q"],
  "tui.editor.cursorLineEnd": ["end", "ctrl+e"],
  "tui.editor.jumpBackward": ["ctrl+home"],
  "tui.editor.jumpForward": ["ctrl+end"],
  "tui.editor.undo": ["ctrl+z"],
  "tui.editor.deleteCharForward": ["delete"],
  "app.models.clearAll": ["ctrl+x"],
  "app.thinking.cycleBackward": []
}

Install

pi install npm:@zigai/pi-keymap-tweaks

Configuration

Global settings are stored in ~/.pi/agent/extension-settings/pi-keymap-tweaks.json.

Option Type Default Description
cycleThinkingBackwardKey string | null null Keybinding to cycle thinking level backward (e.g. 'alt+shift+tab'). Unbound by default.
{
  "$schema": "./schemas/pi-keymap-tweaks.schema.json",
  "cycleThinkingBackwardKey": null
}

License

MIT