Emacs: stampa le associazioni di tasti per un comando o elenca tutte le associazioni di tasti


100

In Emacs (GNU 23.2, * nix), come posso:

  1. elencare le sequenze di tasti legate a un particolare comando? Ad esempio, come possiamo elencare tutte le sequenze di tasti che vengono eseguite save-buffers-kill-emacs, con l'output delle sequenze di tasti ad esso associate? Supponendo di poterlo fare, elencando le sequenze di tasti associate a goto-linedovrebbe stampare l'output: M-g gsu un'installazione predefinita.
  2. elencare tutte le associazioni di tasti? Fa C-h bquesto? Stamperebbe le mie rilegature?

Sono consapevole del fatto che l'esecuzione diretta del comando può stampare una sequenza di tasti con cui può essere attivata, ma non sempre lo fa e accadono alcune cose, tra cui:
(1) l'output non rimane a lungo, (2 ) il comando viene eseguito.

Voglio un comando che elenchi per me (preferibilmente tutti) i collegamenti allegati a un dato comando, senza eseguire il comando o qualcosa del genere.

Risposte:


138
  1. C-h f(o M-x describe-function) ti mostrerà le associazioni per un comando.

  2. Hai ragione, C-h b(o M-x describe-bindings) ti mostrerà tutti i collegamenti. C-h m( M-x describe-mode) è utile anche per elencare le associazioni in base alla modalità.

Potresti anche provare C-h k( M-x describe-key) per mostrare quale comando è associato a una chiave. Ad esempio, sulla mia macchina save-buffers-kill-emacsnon è vincolato a nulla, ma C-h k C-x C-cmi dice che C-x C-cè vincolato a save-buffers-kill-terminal. Elencherà tutte le associazioni per il comando allo stesso tempo.


10
+1, Inoltre c'è C-h c(o M-x describe-key-briefly) che fornisce solo la funzione a cui è assegnato un tasto nello spazio del mini-buffer.
Shannon Severance

Non sono sicuro che questa debba essere una domanda separata, ma è possibile mostrare tutte le combinazioni di tasti / funzioni che iniziano con un tasto particolare? Ad esempio, quali associazioni iniziano con <f2>? Premendo <f2> dopo "Ch m" non funziona perché Emacs sta aspettando un secondo tasto.
SabreWolfy

1
Alla domanda come una nuova domanda qui: stackoverflow.com/questions/10330510/...
SabreWolfy

37

Che ne dici di appena

M-x where-is <COMMAND>

Ottieni le stesse informazioni che avresti con C-h f.

Anche legato a C-h w, <f1> we <help> w.


Questa è in realtà la risposta corretta alla prima domanda, poiché describe-functionnon elenca tutte le associazioni per funzioni come ignoreo self-insert-command.
David Ongaro
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.