Emacs: прив'язка ключа для друку для команди або перелік усіх прив’язок клавіш


100

Як я можу в Emacs (GNU 23.2, * nix):

  1. перелічити ключові послідовності, прив’язані до певної команди? Наприклад, як ми можемо перерахувати всі ключові послідовності, які виконуються save-buffers-kill-emacs, з виведенням послідовностей ключів до нього? Припускаючи, що ми можемо це зробити, перелічуючи ключові послідовності, які goto-lineповинні бути надруковані, слід надрукувати вихід: M-g gпри встановленні за замовчуванням
  2. перелічити всі прив’язки ключів? Це C-h bробить? Чи надрукував би це мої власні палітурки?

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

Я хочу команду, яка перераховує для мене (бажано всі) прив'язки, приєднані до даної команди, не виконуючи команду, чи щось подібне.

Відповіді:


138
  1. C-h f(або M-x describe-function) покаже вам прив'язки для команди.

  2. Ви маєте рацію, 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. Тут буде перераховано одночасно всі прив’язки для команди.


10
+1, також є C-h c(або M-x describe-key-briefly), яка просто надає функцію, якій призначений ключ у просторі міні-буфера.
Шеннон Северанс

Не впевнений, чи має це бути окремим питанням, але чи можна показати всі зв'язки / функції клавіш, які починаються з певної клавіші? Наприклад, які прив'язки починаються з <f2>? Натискання <f2> після "Ch m" не працює, оскільки Emacs чекає другої клавіші.
SabreWolfy

1
На питання , як новий питання тут: stackoverflow.com/questions/10330510 / ...
SabreWolfy

37

Як щодо просто

M-x where-is <COMMAND>

Ви отримуєте ту саму інформацію, що і ви C-h f.

Також неминуче C-h w, <f1> wі <help> w.


Це насправді правильна відповідь на перше запитання, оскільки describe-functionне перераховано всі прив’язки для функцій, таких як ignoreабо self-insert-command.
Девід Онгаро
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.