Subject: bug#47878: Mark outline commands as repeatable

From: Juri Linkov <[email-masked]>
Date: Wed, 21 Apr 2021 22:20:27 +0300

>> 1. navigation keymap:
>>
>> C-c @ C-b       outline-backward-same-level
>> C-c @ C-f       outline-forward-same-level
>> C-c @ C-n       outline-next-visible-heading
>> C-c @ C-p       outline-previous-visible-heading
>> C-c @ C-u       outline-up-heading

Maybe also it would make sense to add single key equivalents,
so e.g. next visible headings could be visited with
C-c @ n n n n …

>> This would be the most useful keymap to make navigation keys repeatable.
>>
>> 2. editing keymap:
>>
>> C-c @ RET       outline-insert-heading
>> C-c @ C-v       outline-move-subtree-down
>> C-c @ C-^       outline-move-subtree-up
>> C-c @ @         outline-mark-subtree
>> C-c @ C-<       outline-promote
>> C-c @ C->       outline-demote
>>
>> Only outline-promote/outline-demote and 
>> outline-move-subtree-down/outline-move-subtree-up
>> could be repeatable.
>
> I am not sure if these two maps are necessarily detached. When I want to
> move a few subtrees, it might be natural for me to assume that I can
> also move between them without having to invoke C-x @ ... again.

Ok, let's put navigation and editing keys into one repeatable keymap
(maybe without outline-insert-heading and outline-mark-subtree).

>> 3. visibility keymap:
>>
>> C-c @ C-a       outline-show-all
>> C-c @ C-e       outline-show-entry
>> C-c @ TAB       outline-show-children
>> C-c @ C-k       outline-show-branches
>> C-c @ C-s       outline-show-subtree
>> C-c @ C-c       outline-hide-entry
>> C-c @ C-d       outline-hide-subtree
>> C-c @ C-l       outline-hide-leaves
>> C-c @ C-o       outline-hide-other
>> C-c @ C-q       outline-hide-sublevels
>> C-c @ C-t       outline-hide-body
>>
>> I doubt if these keys need to be repeatable.
>> We have new Org-like short keys TAB and S-TAB
>> that are more convenient to use in outline-mode
>> and in outline-minor-mode.
>
> That makes sense, I just found out about outline-minor-mode-cycle and it
> probably does make these keys superfluous for most uses. Removing these
> keys seems to also open up a lot of key bindings that would otherwise
> maybe annoy users if they are bound in transient maps (especially C-a,
> C-e, C-k, C-s, C-c).

Indeed, these are among the most frequently used keys.