Emacs: привязка ключа печати для команды или список всех привязок клавиш

В Emacs (GNU 23.2, * nix), как я могу:

  • перечислять последовательности клавиш, привязанные к определенной команде? Например, как мы можем перечислить все последовательности ключей, которые выполняют save-buffers-kill-emacs, с выходом связанных с ним последовательностей клавиш? Предполагая, что мы можем это сделать, перечисление последовательностей ключей, привязанных к goto-line, должно печатать вывод: M-g g по умолчанию.
  • список всех привязок клавиш? Выполняет ли это C-h b? Будет ли он печатать мои собственные привязки?

Я знаю, что выполнение команды напрямую может печатать последовательность клавиш, с которой она может быть активирована, но это не всегда так, и происходит несколько вещей, в том числе:
(1) вывод не остается долго, (2) команда выполнена.

Мне нужна команда, которая перечисляет для меня (желательно все) привязки, прикрепленные к данной команде, без выполнения команды или что-то в этом роде.

Ответ 1

  • C-h f (или M-x describe-function) покажет вам привязки для команды.

  • Вы правы, C-h b (или M-x describe-bindings) покажет вам все привязки. C-h m (M-x describe-mode) также удобно перечислять привязки по режиму.

Вы также можете попробовать C-h k (M-x describe-key), чтобы показать, какая команда привязана к ключу. Например, на моей машине save-buffers-kill-emacs не привязан ни к чему, но C-h k C-x C-c сообщает мне, что C-x C-c привязан к save-buffers-kill-terminal. Он будет перечислять все привязки для команды в одно и то же время.

Ответ 2

Как насчет просто

M-x where-is <COMMAND>

Вы получите ту же информацию, что и с C-h f.

Также привязан к C-h w, <f1> w и <help> w.