diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2026-09-29 19:51:43 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-29 19:51:43 -0400 |
| commit | ac9ddec6b855a54193899f95da2d94d8224b31af (patch) | |
| tree | 7f2fd12450b9720cddaace2e7d61ff9c6cbf13d6 /runtime/lua/vim/_ftplugin/lua.lua | |
| parent | 4e18828f119d7539bfdf9686b8b2758b2e615523 (diff) | |
| download | rneovim-ac9ddec6b855a54193899f95da2d94d8224b31af.tar.gz rneovim-ac9ddec6b855a54193899f95da2d94d8224b31af.tar.bz2 rneovim-ac9ddec6b855a54193899f95da2d94d8224b31af.zip | |
feat(multicursor): zq operator; cursor-local marks #42148
Problem:
- `[count]Q` and `{Visual}Q` are implemented as ad hoc utils, because
`Q` is not an "operator".
- `Q` always "toggles", it is not "idempotent".
- Various *cursor-relative* marks (`'.`, `'[`) are not saved/restored
per-cursor, so they don't work during cascade.
- Insert cascade clobbers the primary's `'^` and changelist.
Solution:
- Introduce the `zq{motion}` operator, which places cursors at every
reachable `{motion}`.
- `{Visual}Q` is now an alias to `{Visual}zqj`.
- Introduce `1Q` and `2Q` for idempotent cursor placement.
- Drop `[count]Q`, it's redundant with `zqgn`.
- Classify cursor-relative marks as `type=motion` instead of
`type=jump`. Save/restore per-cursor during cascade.
Diffstat (limited to 'runtime/lua/vim/_ftplugin/lua.lua')
0 files changed, 0 insertions, 0 deletions