Emacs: wypisuje przypisania klawiszy dla polecenia lub wyświetla wszystkie przypisania klawiszy


100

W Emacsie (GNU 23.2, * nix), jak mogę:

  1. wymienić sekwencje klawiszy powiązane z konkretnym poleceniem? Na przykład, w jaki sposób możemy wyświetlić listę wszystkich wykonywanych sekwencji klawiszy save-buffers-kill-emacswraz z danymi wyjściowymi sekwencji klawiszy z nimi powiązanych? Zakładając, że możemy to zrobić, wypisanie powiązanych sekwencji klawiszy goto-linepowinno wypisać wynik: M-g gprzy domyślnej instalacji.
  2. wyświetlić wszystkie skróty klawiszowe? Czy C-h bto robi? Czy wydrukowałby moje własne wiązania?

Zdaję sobie sprawę, że bezpośrednie wykonanie polecenia może wydrukować sekwencję klawiszy, którą można ją aktywować, ale nie zawsze tak się dzieje i dzieje się kilka rzeczy, w tym:
(1) wyjście nie pozostaje na długo, (2 ) polecenie jest wykonywane.

Chcę rozkaz które wyświetla dla mnie (najlepiej wszystkie) powiązania dołączone do danego polecenia, bez wykonywania polecenia, lub coś w tym rodzaju.

Odpowiedzi:


138
  1. C-h f(lub M-x describe-function) pokaże powiązania dla polecenia.

  2. Masz rację, C-h b(lub M-x describe-bindings) pokaże ci wszystkie wiązania. C-h m( M-x describe-mode) jest również przydatny do wyświetlania powiązań według trybu.

Możesz także spróbować C-h k( M-x describe-key), aby pokazać, jakie polecenie jest przypisane do klawisza. Na przykład na moim komputerze save-buffers-kill-emacsnie jest do niczego przywiązany, ale C-h k C-x C-cmówi mi, że C-x C-cjest do tego zobowiązany save-buffers-kill-terminal. Wyświetli listę wszystkich powiązań dla polecenia w tym samym czasie.


10
+1, Istnieje również C-h c(lub M-x describe-key-briefly), który po prostu podaje funkcję, do której przypisany jest klawisz w przestrzeni mini-bufora.
Shannon Severance

Nie wiesz, czy to powinno być osobne pytanie, ale czy można wyświetlić wszystkie skróty klawiszowe / funkcje, które zaczynają się od określonego klawisza? Na przykład, jakie wiązania zaczynają się od <f2>? Wciśnięcie <f2> po "Ch m" nie działa, ponieważ Emacs czeka na drugi klawisz.
SabreWolfy

1
Zadane

37

Może po prostu

M-x where-is <COMMAND>

Otrzymujesz te same informacje, które otrzymujesz C-h f.

Związany również C-h w, <f1> wi <help> w.


To jest właściwie poprawna odpowiedź na pierwsze pytanie, ponieważ describe-functionnie zawiera listy wszystkich powiązań dla funkcji takich jak ignorelub self-insert-command.
David Ongaro
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.