Catalog npm
PACKAGE EXPLORERView in registry

@0xkahi/pi-vim-keys

npm

Vim style input editor for Pi

pi-extensionpi-packagevim-key-bindings
Versions collected12
Direct dependencies10From release 1.2.0
Last observed21 Oct, 09:00 UTC

README

Current package documentation

@0xkahi/pi-vim-keys

A Vim modal input editor for Pi. Replaces Pi's default input editor with full normal, insert, visual, and visual-line modes, plus configurable leader keybindings and per-mode cursor shapes.

Supports: Insert, Normal, Visual and Visual-line modes

Demo

Custom LeaderKey Keybinds -> AppKeybinds

KeybindDemo

Install

Install globally (writes to ~/.pi/agent/settings.json):

pi install npm:@0xkahi/pi-vim-keys

Or install into the current project only (writes to .pi/settings.json, shareable with your team):

pi install npm:@0xkahi/pi-vim-keys -l

✨ Features

  • Vim modes: insert, normal, visual, visual-line, and replace modes.
  • Alt-screen mode: bind pi.vimKeys.altScreenMode in keybinds to scroll and search Pi's fullscreen transcript with Vim-style keys, entered only from normal mode. There is no default binding. Its bottom-border label is ALT-S, colored by colors.altScreen (default #ED7892).
  • Replace in place: single-character replace with r<char> and a persistent REPLACE mode (R) that overtypes until escape, recorded as a single undo step.
  • Mode-aware cursor and colors: configurable mode label colors, plus block cursor in normal/visual/alt-screen modes, bar cursor in insert mode, and underline cursor in replace mode when terminal hardware cursor is enabled.
  • Configurable insert-to-normal mapping: use escape by default, or configure sequences like jj or kj.
  • Normal-mode leader keybindings: bind leader mappings to built-in editor actions, Pi app actions, or external extension commands.
  • supports both single char and multichar sequence: keybinds can be <leader>e or <leader>oe
  • Surround in visual modes: wrap a selection with brackets or quotes via s (e.g. sab, siq).

For custom extension keybind registration, see Extension Keybindings.

Example:

{
  "keybinds": {
    "ctrl+w": "pi.vimKeys.altScreenMode",
    "<leader>oe": "app.editor.external",
    "<leader>p": "app.clipboard.pasteImage",
    "<leader>l": "app.session.resume",
    "<leader>g": "app.session.tree",
    "ctrl+t": "app.thinking.cycle"
  }
}

📚 Documentation

DocWhat it covers
ConfigurationConfig file locations, merge order, colors, insert-to-normal remaps, leader keybinds, extension keybinding registration, and schema usage
Normal ModeInsert/visual mode entry, movement, word motions, find character, editing, and configured keybindings
Alt-Screen ModeFullscreen transcript navigation, search, entry and exit keys, and Pi keybinding limitations
Visual ModeCharacter-range selections, mode switching, movement, word motions, find character, selection editing, and surround
Visual Line ModeWhole-line selections, mode switching, movement, word motions, find character, line editing, and surround

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 12

Collected releases
VersionPublishedDirect dependenciesOpen version
1.2.0Registry latest13 Oct 202610
1.1.222 Sept 202610
1.1.121 Sept 202610
1.1.015 Sept 202610
1.0.710 Sept 202610
1.0.622 Jul 202610
1.0.512 Jun 202610
1.0.412 Jun 202610
1.0.311 Jun 202610
1.0.210 Jun 202610
1.0.19 Jun 202610
1.0.09 Jun 202610

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

ACCESSIBLE
0xkahi/pi-vim-keys

Shared repository data · GitHub

License detected in repository
MIT
License branch / ref
main
Last push
13 Oct 2026
Archived
No
Contributor identities
— · partial collection

Public sponsor counts have not been collected. These signals belong to the repository owner.

Downloads & popularity

1count
Gauge · observed snapshots22 Oct 2026
10.50
2026-10-22: 1 · observed 2026-10-22T16:31:25.9343490Z
22 Oct22 Oct

github · 1 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-2212026-10-22T16:31:25.9343490Z

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 09:00 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:91212748608a19bedaea5e207407dddd008c60c14870595680b8f22b2ef2bbad