agentofuser
agentofuser

Reputation: 9307

How do I get a list of commands starting with a certain key (combo) in Emacs?

I can use C-h c (describe-key-briefly) and type a key combination and it will return me the function bound to it. But I'd also like to type only a prefix of a key combination and have it list and describe all functions bound to key sequences starting with it, like "all bound keys starting with C-x".

Upvotes: 7

Views: 506

Answers (2)

Drew
Drew

Reputation: 30701

It is also not the case that every prefix key works this way (follow it with C-h to see the bindings).

Here are two additional resources that can help:

  • Command describe-keymap, in help-fns+.el. But to use it you need to have the keymap available (e.g. as the value of a variable, such as ctl-x-map). Unlike just using C-h v on a keymap variable, the output is human readable.

  • Icicles key completion. Just type the prefix key, then hit S-TAB. Buffer *Completions* shows you all possible completions: the keys plus their associated commands (or ... if they are themselves prefix keys). For multiple-level prefix keys (e.g. C-x r) the candidates include prefix keys (e.g. prefix key r to partially complete prefix key C-x). You can navigate up and down the keymap hierarchy this way. And you can cycle among candidates and hit C-M-RET on any to see their complete help.

Upvotes: 1

scottfrazer
scottfrazer

Reputation: 17327

Do the key combo then C-h. For your example of C-x, do C-x C-h. This also works with sub-maps, e.g. C-x r C-h to see everything under C-x r

Upvotes: 17

Related Questions