Come posso cercare aiuto per una sequenza di tasti che non riesco a digitare


8

So che posso cercare aiuto per una sequenza di tasti usando C-h k <key sequence>, ma uso Emacs nel terminale e il mio emulatore di terminale non passa tutte le sequenze di tasti a Emacs. A volte vedrò la notazione per una determinata sequenza di tasti scritta da qualche parte senza spiegazioni, e voglio cercare cosa fa, ma non riesco nemmeno a scriverla. Esiste un equivalente di C-h kdove posso semplicemente digitare la sequenza di tasti (letteralmente C-<character>)?

Risposte:


15

Valuta quanto segue utilizzando eval-expression( M-:) o in un buffer scratch:

(describe-key (kbd "C-<whatever>"))

1
Per inciso, puoi trovare questa soluzione usando C-h k C-h k. (Funziona nel mio terminale.)
Kevin,

1
Grande. In realtà è meglio usare M-: o valutarlo nel buffer corrente, poiché la scorciatoia da tastiera potrebbe essere specifica della modalità.
asmeurer,

9

Se non è possibile utilizzare una particolare combinazione di tasti a causa del proprio terminale, è spesso possibile simularla simulando manualmente il modificatore di chiave. Le seguenti combinazioni funzionano esattamente come se avessi usato il tasto modificatore corrispondente:

C-x @ a     alt
C-x @ m     meta
C-x @ c     control
C-x @ h     hyper
C-x @ s     super (lowercase s)
C-x @ S     shift (uppercase S)

Ad esempio, se non riesci a digitare C-aper qualsiasi motivo, C-x @ c aè la stessa cosa. Se S-<return>non funziona al tuo terminale, lo C-x @ S RETfarà. Queste combinazioni di tasti funzionano anche con il C-h kprefisso di aiuto.


Ci sono casi in cui puoi scrivere C-xma no C-a? Tutti questi richiedono la possibilità di emettere C-x. Essere in grado di usare modificatori "iper" o "super" senza una chiave dedicata sembra che potrebbe tornare utile. Ho incontrato un terminale che non era stato impostato per mappare il tasto "alt" su "meta", ma ci ho lavorato (a malincuore) usando "ESC"
nispio,

2
C-aè un cattivo esempio. Uno più probabile sarebbe C-A(o C-S-a), poiché ai terminali non sembra piacere control + shift.
asmeurer,

Mi sembra di ricordare che sotto screen(1), C-aè stato ordinato una sorta di chiave multiplexing. Ma non lo uso screenda molto tempo, quindi potrei ricordare male.
Sue D. Nymme,

2

Puoi anche usare C-h bper esaminare tutte le combinazioni di tasti, che includeranno i pulsanti del mouse e tutto il resto.


Dopo che viene visualizzata la describe-bindingsfinestra della guida, è anche possibile isearchcercare la rappresentazione in testo semplice di una sequenza di tasti e la funzione a cui è associata. Inoltre, il pacchetto helm-descbindingsti consentirà di navigare in tutti i binding in un buffer del timone.
nispio,

0

Non ero a conoscenza di nessuna di queste soluzioni più specifiche e probabilmente funzionano meglio se si desidera il comando esatto che viene eseguito da una chiave.

Tuttavia, per un suggerimento più generale sulla ricerca di aiuto, se in realtà hai una sorta di vaga idea su cosa sta facendo l'associazione dei tasti, ma vuoi maggiori dettagli, ho usato C-h f(o describe-function) con il completamento della scheda per provare a trovare il nome della funzione, che spesso funziona, e quindi l'aiuto ti dirà se quella funzione ha un'associazione. E quando non ha funzionato, ho usato C-h a(o apropos-command) e ho digitato alcuni termini che pensavo fossero correlati e sorprendentemente, ho avuto molto successo nel trovare il comando corretto per l'associazione dei tasti. Un'altra buona opzione è C-h m(o describe-mode) e guarda tutte le combinazioni di tasti per la modalità corrente. Questo può anche essere usato come termini utili da utilizzare per una o le due precedenti tecniche di ricerca.

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.