Risposte:
Per trovare solo le associazioni di tasti per un comando, puoi usare la funzione "dov'è" dell'help di emacs
C-h w command-name
Se sono impostate più associazioni per il comando, verranno elencate tutte.
Per l'inverso, data una sequenza di tasti, puoi digitare
C-h k key-sequence
Per ottenere il comando che verrebbe eseguito.
È possibile ottenere informazioni dettagliate su un comando, anche su qualsiasi funzione non interattiva definita, digitando
C-h f function-name
Che ti fornirà informazioni dettagliate su una funzione, comprese eventuali associazioni di tasti per essa, e
C-h v variable-name
ti darà informazioni su qualsiasi variabile (legata). Le mappe chiave sono conservate in variabili, tuttavia i codici chiave vengono memorizzati in un formato grezzo. Prova C-h v isearch-mode-map
per un esempio.
Per ulteriore assistenza su come ottenere assistenza, puoi digitare
C-h ?
C-h w <function name>
sapere dove si trova la chiave, non la documentazione completa. Al contrario, puoi anche C-h c <key sequence>
sapere quale funzione è associata a una sequenza di tasti.
C-h
a qualcos'altro nei loro gestori di finestre: C-h w
è equivalente a M-x where-is
. C-h k
è equivalente a M-x describe-key
. C-h f
è equivalente a M-x describe-function
.C-h v
è equivalente a M-x describe-variable
. C-h ?
è equivalente a M-x help-for-help
. Si noti inoltre che f1
può essere utilizzato al posto di C-h
.
Per ottenere interattivamente il comando associato a una scorciatoia da tastiera (o una sequenza di tasti in termini di Emacs), vedere la risposta selezionata.
Per ottenere a livello di codice il comando associato a una determinata sequenza di tasti, utilizzare la funzione key-binding
o lookup-key
che accetta una sequenza di tasti e restituisce il comando associato. La funzionekey-binding
è ciò che C-h k
utilizza.
(key-binding (kbd "C-h m"))
restituisce il comando associato a C-h m
ricerca in tutte le mappe di tasti correnti. La funzione lookup-key
ricerca in un'unica mappa dei tasti:
(lookup-key (current-global-map) (kbd "TAB")) ; => indent-for-tab-command
(lookup-key org-mode-map (kbd "TAB")) ; => org-cycle
(lookup-key text-mode-map (kbd "TAB")) ; => nil
(lookup-key isearch-mode-map (kbd "TAB")) ; => isearch-printing-char
Per ottenere programmaticamente tutte le sequenze di tasti associate a un determinato comando, where-is-internal
è probabilmente la funzione da usare. Il nome della funzione che termina coninternal
sembra suggerire che non spetta agli utenti di Emacs usarla nei loro file init, ma questa funzione che ha una docstring sembra suggerire il contrario. Chiunque consideri l'uso di where-is-internal
dovrebbe prima controllare se la rimappatura dei tasti può invece raggiungere il proprio obiettivo.
Un'alternativa per trovare le chiavi che sono legate a un comando specifico (ad esempio, forward-char
) è substitute-command-keys
(ad esempio, (substitute-command-keys "\\[forward-char]")
). Ciò è particolarmente utile nei testi più grandi.
where-is-internal
suggerisce che è OK usarlo. Inoltre, convenzionalmente usiamo un formato come where-is--internal
(nota il doppio trattino) per le funzioni "private".
-internal
è descritto qui: gnu.org/software/emacs/manual/html_node/elisp/… . Dovrebbe essere utilizzato per le funzioni C interne.
Una vecchia domanda, ma a beneficio dei nuovi lettori, ci sono altri modi carini per vedere le associazioni dei tasti
M-x describe-bindings
Elenca tutte le associazioni attualmente disponibili, usa isearch, exist, ecc. Per fare un buon uso di questo elenco.
M-x describe-prefix-map
Questo mostra tutti i collegamenti disponibili dalla modalità corrente, puoi usare il display buffer come faresti con qualsiasi altro buffer Emacs di sola lettura, per esempio puoi cercare liberamente stringhe ecc.
M-x describe-mode
Oltre a fornire informazioni generali sulla modalità corrente, elencherà anche tutte le associazioni di tasti disponibili.
M-x describe-minor-mode
Ti verrà chiesto di inserire il nome di una modalità minore, quindi verranno mostrate le informazioni e le associazioni di tasti per quella modalità minore.
NOTA : gli esempi seguenti utilizzano pacchetti aggiuntivi (disponibili da MELPA )
Questo mostra gli attacchi appena prima che ti servano. Immettere un prefisso, ad esempio C-x
o, C-c
e verrà visualizzato un elenco delle associazioni disponibili in quel prefisso.
È inoltre possibile visualizzare un elenco di associazioni di tasti disponibili dalla modalità corrente utilizzando:
M-x which-key-show-top-level
È utile legare which-key-show-top-level
a un accordo di tonalità di tua scelta, in modo da poter visualizzare le tonalità disponibili da qualsiasi luogo.
Ad esempio, C-s
( isearch-forward
) ha una vasta mappa dei tasti che spesso è sconosciuta. es. M-s o
inizia a occur
usare la stringa di ricerca corrente, non lo sapevo per molti anni di utilizzo di Emacs. Avere which-key
intorno mi ha aiutato a scoprire molte gemme rare in Emacs.
https://github.com/justbur/emacs-which-key
La chiave guida funziona più o meno allo stesso modo in which-key
cui consiglierei di esaminarla per confrontare le funzionalità.