diff --git a/readme.org b/readme.org index 61b90a2..e4f5cfd 100644 --- a/readme.org +++ b/readme.org @@ -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. +If ~*~ is used for marking, then ~#~ is free. -Optionally: - -- ~*~: Mark all, because ~*~ is traditionally a wild card. - -- ~#~: 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