feat: add linewise Visual selection and paste

This commit is contained in:
2026-10-10 17:20:22 +02:00
parent dc0bdd60d0
commit 27b94744f0
8 changed files with 1001 additions and 62 deletions
+3 -1
View File
@@ -71,7 +71,7 @@ The built-in Normal `gf` sequence follows Markdown file links. It is not a confi
| Normal | `lsp.definition`, `lsp.diagnostics`, `lsp.hover` |
| Normal | `search`, `paste_before`, `paste_after` |
| Normal | `paste_system_before`, `paste_system_after` |
| Normal, Visual | `select`, `search_next`, `search_previous` |
| Normal, Visual | `select`, `select_linewise`, `search_next`, `search_previous` |
| Normal, Visual | `repeat_last_edit` |
| Normal, Visual | `file_picker`, `file_explorer` |
| Normal, Insert, Visual | `line_start`, `line_end` |
@@ -86,6 +86,8 @@ The built-in Normal `gf` sequence follows Markdown file links. It is not a confi
| Insert | `newline` |
| Command, Search | `submit` |
`core.select` (`v`) and `core.select_linewise` (`V`) select characterwise and whole-row Visual shapes. Switching selectors retains endpoints; pressing the active shape's selector again cancels. Both use `config.modes.visual`; there is no separate linewise binding mode. `core.select_lines` (Visual Ctrl+l) still splits touched rows into Normal carets.
## Binding overrides and failures
Adding a binding keeps the original key. Pass `nil` to disable a key, including literal typing in Insert/Command mode: