Files
qbz/crates/qbz-i18n
Niklas Herder b781ed283f feat(hotkeys): selectable Vim keymap preset
The preset swaps the BASE shortcut table underneath the user's overrides
instead of rewriting them, so Default <-> Vim is lossless. Vim binds single
modifier-free keys: n/p, h/l, Shift+J/K, /, and Ctrl+o / Ctrl+i for the jump
list; rows with no vim idiom keep their defaults.

j and k are deliberately left UNBOUND. They belong to a per-list cursor,
which QBZ has no notion of yet, and a global action bound there now would
have to be taken back the day one lands. A test holds them free.

Where an override has already claimed a shortcut the new base wants, that
action goes unbound rather than double-binding a combo that
action_for_shortcut would otherwise resolve by BTreeMap id order.

Seven new tests, including a gate that fails if any preset ever binds one
shortcut to two actions.
2026-08-28 07:27:43 +02:00
..
2026-08-26 11:11:50 -06:00