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.