Skip to content

docs: document the default keybindings for all three edit modes - #1197

Merged
kronberger-droid merged 1 commit into
nushell:mainfrom
kronberger-droid:docs/keybindings-table
Sep 11, 2026
Merged

kronberger-droid merged 1 commit into
nushell:mainfrom
kronberger-droid:docs/keybindings-table

Conversation

@kronberger-droid

@kronberger-droid kronberger-droid commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

#350 asks for an end-user table of the default keybindings.
#1119 took a run at it but went quiet, and it predates helix, so this supersedes it.

Structured around the four add_common_* sets rather than one table per mode, as I asked for in my review on #1119.
Each mode section stands on its own and lists only what it adds.

Docs only, no API or behavior change.

Additional notes

A few descriptions did not match what reedline actually does and now describe reedline, notably vi I (MoveToLineStart, not vim's first non-blank) and Ctrl-d (deletes a grapheme unless the buffer is empty).

closes #350

The emacs and vi tables started from @Semak12345's work in #1119, thanks for that.

@fdncred

fdncred commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

nice work. been needed for a while

Structured around the four `add_common_*` sets rather than one table per
mode, since what separates the modes is which sets they compose and which
single keys they override. Filing the shared bindings under emacs instead
leaves vi insert described by subtraction.

Every row was read back off the tables and the modal parsers rather than
off vim's and helix's own docs, so the descriptions are reedline's
behaviour where the two diverge: vi `I` is `MoveToLineStart`, not vim's
first non-blank; `Ctrl-d` deletes a grapheme unless the buffer is empty;
a counted helix `g` is dropped rather than acting as `gg`.

Closes nushell#350. Supersedes nushell#1119, which predates helix.
@kronberger-droid
kronberger-droid marked this pull request as ready for review September 8, 2026 17:17
@kronberger-droid
kronberger-droid merged commit 2659a7a into nushell:main Sep 11, 2026
7 checks passed
@kronberger-droid
kronberger-droid deleted the docs/keybindings-table branch September 11, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Template table with the default keybindings and their actions

2 participants