[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47878: Mark outline commands as repeatable
From: |
Philip Kaludercic |
Subject: |
bug#47878: Mark outline commands as repeatable |
Date: |
Wed, 21 Apr 2021 13:53:28 +0000 |
Juri Linkov <juri@linkov.net> writes:
>> This is a suggested extension for repeat-mode. outline-mode, especially
>> outline-minor-mode commands are somewhat inconvenient to access ("C-x @
>> C-<something>" requires me to change modifiers mid-input twice). When
>> repeat-mode is enabled, this would allow me to access all outline keys
>> in just one key-press.
>>
>> One might want to discuss if outline-mode-prefix-map should be directly
>> marked as the repeat-map
>
> Is it possible to get the name of the keymap whose keys were bound to
> and invoked the current command? If such function exists, then the
> feature of marking the whole keymap as repeatable could be discussed.
>
>> or if a subset should be used. My approach requires less effort
>> but might be more confusing.
>
> Indeed, a subset would be more preferable since it reduces the number
> of keys that users might want to use outside of the repeating sequence,
> e.g. to type C-l to recenter instead of outline-hide-leaves.
>
> To solve this problem the whole set of keys could be split to groups
> of repeatable keymaps:
>
> 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
>
> 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.
> 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).
--
Philip K.