#4231·k9s

vi-like key mappings missing: Shift+Up/Down don't page like they do in Vim

Author: nestor-bolivarCreated Sep 16, 2026Updated Sep 17, 2026
Labelsenhancement

Is your feature request related to a problem? Please describe. I'm a heavy vi/vim user and my muscle memory carries over hard when using k9s. In Vim, <S-Down>/<S-Up> are mapped to page down/page up by default (same as <PageDown>/<PageUp>, or Ctrl-F/Ctrl-B). In k9s, Shift+Down and Shift+Up currently behave identically to plain Down/Up — they just fall through to normal single-row/line cursor movement, with no page-jump behavior. It breaks my vi muscle memory every time I use k9s.

Describe the solution you'd like Shift+Up/Down should page through the current view (resource tables, Describe/YAML, logs, etc.), matching Vim's terminal keymap convention (<S-Down> == <PageDown>, <S-Up> == <PageUp>).

Describe alternatives you've considered Tried mapping this via k9s's own config (hotkeys.yaml / plugins), but the shortcut key parser only accepts [a-z], Shift-[A-Z], and Ctrl-[A-Z] — arrow keys and Shift+Arrow combinations aren't valid targets, so this isn't something that can be fixed from user config at all. Also considered sticking with plain arrows / j/k for line-by-line movement and PgUp/PgDn/Ctrl-F/Ctrl-B for paging — but that means dropping the vi muscle memory rather than fixing it.

Additional context I'm submitting a PR for evaluation that:

  • Translates Shift+Down/Up into Page Down/Up in resource table views (internal/view/table.go)
  • Does the same for the Describe/YAML detail views (internal/view/live_view.go, internal/view/details.go)