[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: transient
From: |
Drew Adams |
Subject: |
RE: transient |
Date: |
Mon, 18 May 2020 22:38:12 -0700 (PDT) |
> >>> I like it very much because it helps see the rationale behind
> >>> keybinding. After a while you get to learn the bindings for the
> >>> commands you use the most and you can easily explore
> >>> new commands.
>
> ... which-key let's me explore existing bindings with
> no effort. Type C-x r and wait a second and see all
> the rectangle and register commands. It was great for
> learning the M-s and M-g keymaps when they were added.
> which-key has been very helpful for learning bindings...
FWIW -
Icicles key completion is similar, but there are
notable differences:
1. You can use it on-demand (as well as just
automatically) - complete only when you want
to, and without a delay.
2. Because of that you can also use it at top
level, not just after hitting a prefix key.
Use it to see what key bindings are available
in the current context (e.g. active modes).
3. Completion candidates have 2 parts: key and
command name: `KEY = COMMAND'. You can
match either or both. Prefix keys have `...'
instead of `COMMAND: `PREFIX-KEY = ...'.
4. Choosing a candidate with a COMMAND invokes
it. Choosing a prefix-key candidate changes
the set of candidates to its completions.
E.g., choosing `C-h = ...' shows candidates
such as `f = describe-function'.
5. You can filter the current matches, by typing
input that matches key or command names, or
both. You can filter multiple times (multiple
patterns). Remove your current pattern from
the minibuffer and type another one to see a
different set of matches at the same level
(same prefix key or top level).
6. When completing a prefix key, the first
candidate shown is `..', which you can choose
to go back up a level (completions above that
prefix key). Then you can go down another
prefix key - explore the entire key-sequence
forest.
7. That forest includes menus, as prefix-key
candidates (`menu-bar = ...'). So you can
explore menus in the same way. [*]
8. You can sort candidates in these ways:
* local bindings first, then non-local, each
group in alphabetic order by key name
* prefix keys first, then non-prefix, again,
in key-name alphabetic order
* alphabetic order by command name
You can cycle among those sort orders anytime,
using `C-,'.
9. Local bindings are highlighted differently
from non-local - two faces. Menus get two
other faces (local, non-local).
10. You can show full help (`C-h f' help) for
any candidate, anytime, without ending
completion. (Use `C-M-RET' on it.)
11. Being able to match minibuffer input against
key and command names means that, unlike the
approach of `which-key' and similar, when
completing a prefix key you don't just hit
keys that complete the key sequence, to
invoke its command. A workaround for that is
to hit `M-q' and then hit a key, to insert
its name in the minibuffer and then choose it.
E.g., `M-q C-M-f' inserts the text `C-M-f' in
the minibuffer.
_____
[*] Exploring menu-bar menus this way is one
step (menu level) at a time, the same as
exploring other key sequences. A better way
to explore menu-bar menus is to use library
La Carte. Then you can match menu items or
submenus directly, at any level. I.e., you
can type a single pattern that dives down
into the menu hierarchy - like file-name
completion. (But you can also navigate
stepwise.)
- Re: GNU Emacs raison d'etre, (continued)
- transient, Richard Stallman, 2020/05/17
- Re: transient, Joost Kremers, 2020/05/18
- Re: transient, Dmitry Gutov, 2020/05/18
- Re: transient, Howard Melman, 2020/05/18
- Re: transient, John Yates, 2020/05/18
- Re: transient, Howard Melman, 2020/05/18
- RE: transient,
Drew Adams <=
- Re: transient, Arthur Miller, 2020/05/19
- Re: transient, Michael Heerdegen, 2020/05/19
- RE: transient, Stefan Kangas, 2020/05/19
- RE: transient, Drew Adams, 2020/05/19
- which-key, Richard Stallman, 2020/05/19
- RE: GNU Emacs raison d'etre, Drew Adams, 2020/05/17
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/20
- RE: GNU Emacs raison d'etre, Drew Adams, 2020/05/20
- Re: GNU Emacs raison d'etre, Karl Fogel, 2020/05/20
- Re: GNU Emacs raison d'etre, Dmitry Gutov, 2020/05/20