From: Drew Adams <drew.adams@oracle.com>
To: Howard Melman <hmelman@gmail.com>, emacs-devel@gnu.org
Subject: RE: transient
Date: Mon, 18 May 2020 22:38:12 -0700 (PDT) [thread overview]
Message-ID: <f36b18ee-ddfa-49f6-a007-c8de75913087@default> (raw)
In-Reply-To: <lypnb1cch3.fsf@Lumet.home>
> >>> 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.)
next prev parent reply other threads:[~2020-05-19 5:38 UTC|newest]
Thread overview: 270+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 8:26 Making Emacs popular again with a video Nathan Colinet
2020-05-08 10:39 ` Arthur Miller
2020-05-10 20:48 ` Nathan Colinet
2020-05-08 10:41 ` Stefan Kangas
2020-05-10 16:18 ` Nathan Colinet
2020-05-08 11:33 ` Eli Zaretskii
2020-05-10 20:32 ` Nathan Colinet
2020-05-11 22:59 ` Stefan Kangas
2020-05-09 7:50 ` Andreas Röhler
2020-05-10 20:57 ` Nathan Colinet
2020-05-12 3:12 ` Richard Stallman
2020-05-12 7:04 ` Arthur Miller
2020-05-12 13:59 ` Dmitry Gutov
2020-05-12 14:47 ` Arthur Miller
2020-05-12 16:08 ` Drew Adams
2020-05-13 4:01 ` Richard Stallman
2020-05-13 8:49 ` Arthur Miller
2020-05-14 5:14 ` Richard Stallman
2020-05-14 10:22 ` Arthur Miller
2020-05-14 10:55 ` Robert Pluim
2020-05-15 3:25 ` Richard Stallman
2020-05-15 7:55 ` Arthur Miller
2020-05-15 10:11 ` Eli Zaretskii
2020-05-15 10:43 ` Arthur Miller
2020-05-15 11:23 ` Eli Zaretskii
2020-05-15 19:15 ` H. Dieter Wilhelm
2020-05-15 18:41 ` H. Dieter Wilhelm
2020-05-22 19:09 ` Ben McGinnes
[not found] ` <E1jcLVP-0003SB-II@fencepost.gnu.org>
2020-05-24 19:16 ` Ben McGinnes
2020-05-14 14:13 ` Eli Zaretskii
2020-05-14 7:38 ` Tim Cross
2020-05-14 7:51 ` Andreas Röhler
2020-05-14 14:18 ` Eli Zaretskii
2020-05-14 15:36 ` Tim Cross
2020-05-13 10:43 ` Stefan Kangas
2020-05-12 8:23 ` Andreas Röhler
2020-05-13 3:55 ` Richard Stallman
2020-05-13 8:18 ` Andreas Röhler
2020-05-13 10:53 ` Stefan Kangas
2020-05-13 16:20 ` Drew Adams
2020-05-14 2:18 ` (emacs) Intro [was: Making Emacs popular again with a video] excalamus--- via Emacs development discussions.
2020-05-14 12:04 ` Dmitry Gutov
2020-05-14 21:31 ` excalamus--- via Emacs development discussions.
2020-05-15 0:46 ` Dmitry Gutov
[not found] ` <d28fe30d-c192-8022-b758-d8b7019e49b5@yandex.ru-M7KnL6R----2>
2020-05-17 19:11 ` excalamus--- via Emacs development discussions.
2020-05-19 14:14 ` excalamus--- via Emacs development discussions.
[not found] ` <d66793e5-07f9-4dd9-928d-e7e8c342b781@default>
[not found] ` <M7iByNw--3-2@tutanota.com>
2020-05-21 18:18 ` excalamus--- via Emacs development discussions.
[not found] ` <M7sSK-m--3-2@tutanota.com-M7sSUVm--3-2>
2020-05-28 1:21 ` excalamus--- via Emacs development discussions.
2020-05-28 7:08 ` Eli Zaretskii
2020-05-28 7:41 ` Andreas Röhler
2020-05-28 10:23 ` Stefan Kangas
2020-05-29 2:39 ` excalamus--- via Emacs development discussions.
2020-05-29 7:28 ` Eli Zaretskii
2020-05-29 7:40 ` Stefan Kangas
2020-05-29 15:14 ` Stefan Monnier
2020-05-30 1:39 ` Richard Stallman
2020-05-14 22:14 ` Karl Fogel
2020-05-15 3:17 ` Richard Stallman
2020-05-15 6:36 ` Andreas Röhler
2020-05-12 12:57 ` GNU Emacs raison d'etre excalamus--- via Emacs development discussions.
2020-05-13 16:18 ` Karl Fogel
2020-05-13 16:28 ` Drew Adams
2020-05-13 19:39 ` Andreas Röhler
2020-05-13 20:05 ` Karl Fogel
2020-05-13 20:52 ` Dmitry Gutov
2020-05-13 22:04 ` Karl Fogel
2020-05-13 22:55 ` Dmitry Gutov
2020-05-14 4:56 ` Karl Fogel
2020-05-14 16:37 ` Drew Adams
2020-05-14 22:11 ` excalamus--- via Emacs development discussions.
2020-05-15 3:16 ` Richard Stallman
2020-05-15 21:42 ` Karl Fogel
2020-05-15 22:14 ` Arthur Miller
2020-05-16 0:03 ` Dmitry Gutov
2020-05-15 22:41 ` Drew Adams
2020-05-20 21:47 ` Karl Fogel
2020-05-20 22:35 ` Drew Adams
2020-05-21 0:35 ` Karl Fogel
2020-05-16 2:43 ` Eduardo Ochs
2020-05-18 3:46 ` Richard Stallman
2020-05-18 11:26 ` Dmitry Gutov
2020-05-16 8:05 ` Yuri Khan
2020-05-16 10:36 ` Eli Zaretskii
2020-05-16 10:46 ` Yuri Khan
2020-05-17 1:28 ` Dmitry Gutov
2020-05-17 1:39 ` Dmitry Gutov
2020-05-17 1:40 ` Dmitry Gutov
2020-05-17 1:59 ` Jean-Christophe Helary
2020-05-17 2:52 ` Stefan Kangas
2020-05-17 9:32 ` Joost Kremers
2020-05-17 11:07 ` Arthur Miller
2020-05-18 3:43 ` transient Richard Stallman
2020-05-18 6:58 ` transient Joost Kremers
2020-05-18 11:29 ` transient Dmitry Gutov
2020-05-18 18:41 ` transient Howard Melman
2020-05-18 19:35 ` transient John Yates
2020-05-18 19:57 ` transient Howard Melman
2020-05-19 5:38 ` Drew Adams [this message]
2020-05-19 14:00 ` transient Arthur Miller
2020-05-20 3:14 ` transient Michael Heerdegen
2020-05-19 22:04 ` transient Stefan Kangas
2020-05-19 22:53 ` transient Drew Adams
2020-05-19 4:02 ` which-key Richard Stallman
2020-05-17 7:09 ` GNU Emacs raison d'etre Drew Adams
2020-05-20 21:36 ` Karl Fogel
2020-05-20 21:57 ` Drew Adams
2020-05-20 22:00 ` Karl Fogel
2020-05-20 22:07 ` Dmitry Gutov
2020-05-21 8:03 ` tomas
2020-05-21 9:33 ` Arthur Miller
2020-05-21 10:04 ` tomas
2020-05-24 14:05 ` Arthur Miller
2020-05-21 16:20 ` xristos
2020-05-24 13:45 ` Arthur Miller
2020-05-24 16:52 ` xristos
2020-05-24 17:00 ` Eli Zaretskii
2020-05-24 18:31 ` Philip K.
2020-05-25 17:34 ` João Távora
2020-05-26 4:14 ` Richard Stallman
2020-05-26 11:32 ` João Távora
2020-05-27 3:08 ` Richard Stallman
2020-05-27 5:01 ` Drew Adams
2020-05-29 12:59 ` Arthur Miller
2020-06-23 3:59 ` Richard Stallman
2020-05-21 17:07 ` Karl Fogel
2020-05-23 20:36 ` Dmitry Gutov
2020-05-14 6:26 ` tomas
2020-05-14 6:16 ` Andreas Röhler
2020-05-15 3:18 ` Richard Stallman
2020-05-16 0:56 ` Tak Kunihiro
2020-05-16 6:50 ` Eli Zaretskii
2020-05-16 9:10 ` Sergey Organov
2020-05-16 10:38 ` Eli Zaretskii
2020-05-16 12:24 ` Sergey Organov
2020-05-16 12:29 ` Eli Zaretskii
2020-05-16 12:34 ` Sergey Organov
2020-05-16 12:46 ` Dmitry Gutov
2020-05-16 13:57 ` Sergey Organov
2020-05-16 19:35 ` Dmitry Gutov
2020-05-16 20:05 ` Stefan Kangas
2020-05-16 20:34 ` Dmitry Gutov
2020-05-16 20:44 ` Bob Newell
2020-06-24 15:37 ` Ricardo Wurmus
2020-05-16 23:12 ` Drew Adams
2020-05-16 23:18 ` Drew Adams
2020-05-16 23:47 ` Stefan Kangas
2020-05-17 1:14 ` Drew Adams
2020-05-17 3:13 ` Stefan Kangas
2020-05-17 6:49 ` Drew Adams
2020-05-17 7:02 ` Jean-Christophe Helary
2020-05-17 7:11 ` Drew Adams
2020-05-17 9:07 ` Jean-Christophe Helary
2020-05-17 10:20 ` Marcin Borkowski
2020-05-17 11:07 ` Jean-Christophe Helary
2020-05-17 15:25 ` Eli Zaretskii
2020-05-17 15:48 ` Jean-Christophe Helary
2020-05-17 17:06 ` Stefan Monnier
2020-05-17 17:31 ` Arthur Miller
2020-05-17 18:57 ` Drew Adams
2020-05-17 20:03 ` Arthur Miller
2020-05-18 8:32 ` martin rudalics
2020-05-18 11:39 ` Dmitry Gutov
2020-05-18 13:02 ` martin rudalics
2020-05-18 13:38 ` Dmitry Gutov
2020-05-18 16:31 ` Robert Pluim
2020-05-18 23:14 ` Dmitry Gutov
2020-05-19 8:41 ` martin rudalics
2020-05-20 1:01 ` Dmitry Gutov
2020-05-20 9:06 ` martin rudalics
2020-05-21 0:15 ` Dmitry Gutov
2020-05-21 9:07 ` martin rudalics
2020-05-21 23:16 ` Dmitry Gutov
2020-05-22 9:31 ` martin rudalics
2020-05-25 2:37 ` Dmitry Gutov
2020-05-26 8:06 ` martin rudalics
2020-06-05 2:40 ` pop-up-mini-mode, was " Dmitry Gutov
2020-05-19 8:40 ` martin rudalics
2020-05-20 0:40 ` Dmitry Gutov
2020-05-20 9:04 ` martin rudalics
2020-05-20 13:28 ` Dmitry Gutov
2020-05-20 14:45 ` Eli Zaretskii
2020-05-20 14:56 ` Dmitry Gutov
2020-05-20 16:12 ` Eli Zaretskii
2020-05-20 17:45 ` martin rudalics
2020-05-20 18:09 ` Eli Zaretskii
2020-05-20 18:16 ` Eli Zaretskii
2020-05-20 18:24 ` Dmitry Gutov
2020-05-20 18:33 ` Eli Zaretskii
2020-05-20 18:56 ` Eli Zaretskii
2020-05-20 19:22 ` Dmitry Gutov
2020-05-20 19:53 ` tomas
2020-05-20 21:22 ` Dmitry Gutov
2020-05-21 7:43 ` tomas
2020-05-21 2:28 ` Eli Zaretskii
2020-05-21 22:19 ` Dmitry Gutov
2020-05-22 7:28 ` Eli Zaretskii
2020-05-22 12:16 ` Dmitry Gutov
2020-05-20 23:07 ` martin rudalics
2020-05-21 13:11 ` Eli Zaretskii
2020-05-21 17:55 ` martin rudalics
2020-05-18 15:57 ` Drew Adams
2020-05-19 8:41 ` martin rudalics
2020-05-21 18:19 ` Suppressing beginning/end-of-buffer error messages (WAS: GNU Emacs raison d'etre) Noam Postavsky
2020-05-22 9:30 ` martin rudalics
2020-05-22 12:46 ` Noam Postavsky
[not found] ` <11bfe86b-131c-4f55-5125-c269a73e360d@gmx.at>
2020-05-23 11:10 ` Noam Postavsky
2020-05-17 18:36 ` GNU Emacs raison d'etre Drew Adams
2020-05-17 21:04 ` Stefan Monnier
2020-05-17 21:48 ` Drew Adams
2020-05-17 18:38 ` Dmitry Gutov
2020-05-17 21:17 ` Stefan Monnier
2020-05-17 21:37 ` Dmitry Gutov
2020-05-18 8:33 ` martin rudalics
2020-05-18 11:37 ` Dmitry Gutov
2020-05-17 21:57 ` Drew Adams
2020-05-17 18:28 ` Drew Adams
2020-05-17 17:59 ` Drew Adams
2020-05-17 18:07 ` Dmitry Gutov
2020-05-17 7:54 ` Sergey Organov
2020-05-17 11:37 ` Dmitry Gutov
2020-05-17 18:11 ` Drew Adams
2020-05-16 23:01 ` Arthur Miller
2020-05-17 2:55 ` Richard Stallman
2020-05-28 4:12 ` Karl Fogel
2020-05-28 5:51 ` Eduardo Ochs
2020-05-28 6:13 ` Drew Adams
2020-05-28 14:12 ` excalamus--- via Emacs development discussions.
2020-05-28 14:42 ` Jean-Christophe Helary
2020-05-28 16:34 ` Drew Adams
2020-05-29 14:44 ` Jean-Christophe Helary
2020-05-28 15:00 ` Philip K.
2020-05-28 15:13 ` João Távora
2020-05-28 16:04 ` T.V Raman
[not found] ` <p914ks0kpui.fsf@google.com-M8R14r9----2>
2020-05-28 16:12 ` excalamus--- via Emacs development discussions.
2020-05-28 16:46 ` T.V Raman
2020-05-28 17:34 ` Karl Fogel
2020-05-28 18:11 ` andres.ramirez
[not found] ` <877dwwezfr.fsf@red-bean.com-M8RLd3p--3-2>
2020-05-28 18:28 ` excalamus--- via Emacs development discussions.
2020-05-29 1:12 ` Karl Fogel
2020-05-30 1:44 ` Richard Stallman
2020-05-30 2:02 ` Jean-Christophe Helary
2020-05-30 9:13 ` Arthur Miller
2020-05-30 16:43 ` Alfred M. Szmidt
2020-05-31 7:07 ` Richard Stallman
2020-06-08 17:37 ` REmacs was " T.V Raman
2020-06-01 7:29 ` Meaning behind Control-G Lars Brinkhoff
2020-06-01 7:56 ` Lars Brinkhoff
2020-06-01 9:06 ` Lars Brinkhoff
2020-06-01 13:44 ` Stefan Monnier
2020-06-02 1:51 ` Paul Eggert
2020-06-02 5:58 ` Lars Brinkhoff
2020-06-02 13:50 ` Stefan Monnier
2020-06-02 15:38 ` Drew Adams
2020-06-02 11:46 ` John Yates
2020-07-10 12:13 ` GNU Emacs raison d'etre Lars Brinkhoff
2020-07-10 14:28 ` Drew Adams
2020-07-11 2:16 ` Richard Stallman
2020-05-28 16:41 ` FW: " Drew Adams
2020-05-28 17:37 ` Stefan Monnier
2020-05-28 20:33 ` Perry E. Metzger
2020-05-28 23:44 ` T.V Raman
2020-05-29 3:04 ` Richard Stallman
2020-05-13 19:46 ` T.V Raman
2020-05-13 21:00 ` Dmitry Gutov
2020-05-13 21:02 ` excalamus--- via Emacs development discussions.
2020-05-13 22:22 ` H. Dieter Wilhelm
2020-05-14 4:20 ` Karl Fogel
2020-05-14 0:04 ` John Wiegley
2020-05-14 5:08 ` Richard Stallman
2020-05-14 20:29 ` Karl Fogel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f36b18ee-ddfa-49f6-a007-c8de75913087@default \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=hmelman@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).