diff options
| author | Pierre Neidhardt <ambrevar@gmail.com> | 2018-02-24 15:42:28 +0100 |
|---|---|---|
| committer | Pierre Neidhardt <ambrevar@gmail.com> | 2018-02-25 21:01:11 +0100 |
| commit | cdfb85186b81fd0d8c00c4d6fbbb9f7e5a8ba8f7 (patch) | |
| tree | f209f29a174500bb1361d5375a81826e362191fa | |
| parent | 6ddd11eb3a58697ec7a97755417422dfe25c4b98 (diff) | |
readme: Finalize marking rationale
| -rw-r--r-- | readme.org | 32 |
1 files changed, 14 insertions, 18 deletions
@@ -171,7 +171,7 @@ The rules are more-or-less sorted by priority. - ~.~ -** Rationale (Work in progress) +** Rationale Many special modes share the same set of similar actions. Those actions should share the same bindings across all modes whenever feasible. @@ -242,36 +242,32 @@ not seem to be any existing use of it, we leave the binding free for other uses. *** Marking -Emacs inconsistently uses ~u~ and ~U~ to unmark. Since in Vim those keys are -usually bound to "undo", they are probably best left to commands that undo -actions in the buffer and not undo marks. - ~m~ defaults to ~evil-set-marker~ which might not be very useful in special -modes. This is somewhat debatable though. - -Suggested mark bindings: +modes. +~'~ can still be used as it can jump to other buffers. - ~m~: Mark or toggle mark, depending on what the mode offers. +In visual mode, always mark. +With a numeric argument, toggle mark on that many following lines. + +- ~u~: Unmark current selection. + +- ~U~: Unmark all. - =~=: Toggle all marks. This mirrors the "invert-char" Vim command bound to =~= by default. -- ~M~: Remove all marks. +- ~M~: Mark all, if available. Otherwise use =U~=. + +- ~*~: Mark-prefix or mark all if current mode has no prefix. ~*~ is traditionally a wildcard. - ~%~: Mark regexp. - ~x~: Execute action on marks. This mirrors Dired's binding of ~x~. -While ~m~ won't be available for setting marks (in the Vim sense), ~'~ can still -be used as it can jump to other buffers. - -Optionally: - -- ~*~: Mark all, because ~*~ is traditionally a wild card. +If ~*~ is used for marking, then ~#~ is free. -- ~#~: Remove mark. This is useful when we want to unmark a region having both -marked and unmarked entries. But ~M~ could also be made to remove all marks on -region, making this binding useless. +Also note that Emacs inconsistently uses ~u~ and ~U~ to unmark. *** Selecting / Filtering / Narrowing / Searching |
