In Emacs (GNU 23.2, *nix), how can I:
list the key sequences bound to a particular command? For example, how can we list all the key sequences that execute save-buffers-kill-emacs, with the output of key sequences bound to it? Assuming we can do this, listing the key sequences bound to goto-line should print the output: M-g g on a default install. list all key-bindings? Does C-h b do this? Would it print my own bindings?
I am aware that executing the command directly can print a key sequence it can be activated with, but it doesn't always do so, and a few things happen, including: (1) the output doesn't remain for long, (2) the command is executed.
I want a command that lists for me (preferably all) the bindings attached to a given command, without executing the command, or something like that.
C-h f (or M-x describe-function) will show you the bindings for a command. You are correct, C-h b (or M-x describe-bindings) will show you all bindings. C-h m (M-x describe-mode) is also handy to list bindings by mode.
You might also try C-h k (M-x describe-key) to show what command is bound to a key. For instance, on my machine save-buffers-kill-emacs
isn't bound to anything, but C-h k C-x C-c tells me that C-x C-c is bound to save-buffers-kill-terminal
. It will list all bindings for the command at the same time.
How about just
M-x where-is <COMMAND>
You get the same information as you'd get with C-h f.
Also bound to C-h w,
describe-function
doesn't list all bindings for functions like ignore
or self-insert-command
.
Success story sharing
C-h c
(orM-x describe-key-briefly
) which just gives the function that a key is assigned to in the mini-buffer space.