Fix select motions and mobile line aliases

This commit is contained in:
slhx agent
2026-06-21 20:15:10 +02:00
parent b83431aefc
commit 9f4c1539e4
4 changed files with 89 additions and 34 deletions
+9 -6
View File
@@ -97,17 +97,19 @@ selection entry, leader rails, tool commands, save/quit, and recoverability.
Text-entry mode for ordinary typing. `mim` starts in Normal mode; Insert mode is
entered explicitly with `i`, `a`, `o`, or another visible command. In Insert mode,
`Space` commits a literal space immediately. Physical keyboards may use
`Space` commits a literal space immediately and `Tab` inserts spaces by default
(expandtab, matching the dotfiles Neovim baseline). Physical keyboards may use
conventional direct keys such as Escape as aliases back to Normal, but those
aliases are optional accelerators, not required controls.
### Select mode
Selection-building mode. Movement extends the active selection by default.
Selection commands are semantic: select word, line, current indent block,
matching delimiter pair, enclosing text object, parameter, diagnostic range, and
visible panel item. Select mode can apply operations such as delete, replace,
copy, format, code action, or explain to the selection.
Semantic object selections live behind the match/object rail (`m w`, `m l`,
`m i`, `m p`, etc.) so bare `h/j/k/l`, word motions, arrows, and mobile line
aliases keep behaving as selection-extending motions. Select mode can apply
operations such as delete, replace, copy, format, code action, or explain to the
selection.
### Panel mode
@@ -179,7 +181,8 @@ such as arrow keys, Home/End, PageUp/PageDown, Escape, or `%`.
| `O` or `Space o` `a` | open line above and enter Insert |
| `h` `j` `k` `l` | left/down/up/right where comfortable; arrows are aliases |
| `w` `b` `e` | word forward/back/end |
| `0` `$` | line start/end when available; `Space g` `l` opens line targets |
| `H` `L` | mobile-reachable line start/end aliases |
| `0` `^` `$` | attached/Vim-style line start/first-nonblank/end aliases; `Space g` `l` opens line targets |
| `u` | undo |
| `Space u` `r` | redo |
| `Space w` | write/save current buffer |