summaryrefslogtreecommitdiff
path: root/readme.org
diff options
context:
space:
mode:
authorPierre Neidhardt <ambrevar@gmail.com>2018-02-24 15:42:28 +0100
committerPierre Neidhardt <ambrevar@gmail.com>2018-02-27 09:19:36 +0100
commit09fade374c75aec9adc18317350bd34394cda1fd (patch)
treec6c8036b3373397166d32347394ce530fbfea388 /readme.org
parent114b2ae5fc4145f94fbd534037c2b6897fa04591 (diff)
readme: Finalize marking rationale
Diffstat (limited to 'readme.org')
-rw-r--r--readme.org32
1 files changed, 14 insertions, 18 deletions
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.
-
-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