Esiste una sintassi standard / consigliata per la definizione di un'associazione della tastiera?


10

Ho visto tutto quanto segue per definire un'associazione della tastiera. Tutti questi funzionano (almeno su MS Windows). Non so se c'è un altro modo di fare la stessa cosa.
Mi chiedo se esiste un modo standard o consigliato per definire un'associazione della tastiera e se si consiglia di evitare alcuni di questi.

(global-set-key "\M-r" 'some-command)
(global-set-key [(meta r)] 'some-command)
(global-set-key [?\M-r] 'some-command)
(global-set-key (kbd "M-r") 'some-command)

1
Dubito che ci sia una sintassi consigliata, ma personalmente mi piace il (global-set-key (kbd "M-r") 'some-command)metodo a causa della coerenza in cui possono essere definite le combinazioni di tasti .. non devi ricordare quando o quando non sfuggire alle cose.
Kaushal Modi,

Risposte:


6

Non esiste un unico modo standard, poiché esistono diversi casi d'uso.

Se stai scrivendo questo codice manualmente, ad esempio nel tuo file init, potresti preferire il (kbd ...)formato, perché l'argomento kbdusa la stessa notazione che Emacs usa quando comunica con te sui collegamenti chiave ( *Help*ad esempio).

Ma se stai creando associazioni usando Emacs Lisp, potresti preferire la notazione vettoriale, in particolare [(meta r)]ecc., Poiché è un po 'più facile da gestire.

Alcune persone considerano il semplice approccio con le stringhe arcaico, ma è utile quando la chiave è semplice: "a"è più semplice e almeno leggibile (kbd "a"). Ma le stringhe semplici sono più difficili da leggere / utilizzare quando si tratta di tasti modificatori ecc.


6
(global-set-key [?\M-r] 'some-command)

è il modo "nativo". Tutti gli altri sono costruiti su questo, in pratica.

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.