Desidero che determinati tasti e combinazioni di tasti si comportino come altri tasti o combinazioni di tasti in Emacs. Per esempio, io voglio F5 a comportarsi come un sostituto per C-c per ogni possibile combinazione che coinvolge, o C-S come C-. È possibile farlo senza riavviare manualmente tutte queste combinazioni di tasti?Comportamento di una chiave come un'altra chiave
risposta
Le chiavi a cui si fa riferimento sono note come "chiavi di prefisso". Una chiave di prefisso ha la propria mappa dei tasti, quindi per far sì che un altro tasto si comporti allo stesso modo, è necessario assegnarlo alla stessa keymap. Per il controllo-c, si utilizza il mode-specific-map
: Controllo
(global-set-key (kbd "<f5>") mode-specific-map)
da sola non è una chiave prefisso, o realmente una chiave a tutti, dal momento che non invia pressione di un tasto per Emacs [1] fino a quando non si preme un altro tasto. Non sono sicuro di come rimappare C-S- in C- all'interno di Emacs. Puoi farlo a livello di sistema con xmodmap, ma probabilmente non è quello che vuoi.
[1] il tasto di controllo (e Shift, Alt) inviano pressione di un tasto per il sistema operativo, ma Emacs non 'vede' questo a meno che non ci sia premuto allo stesso tempo, un altro tasto
preferisco
(define-key key-translation-map [f5] (kbd "\C-c"))
Ecco uno good resource.
Per riepilogare il collegamento sopra riportato: Lo svantaggio della chiave globale è che, quando si definisce una combinazione di tasti per immettere un simbolo, non funziona in isearch.
chiave-traduzione-mappa ha anche un problema. Immagina di aver definito un simbolo | per eseguire un comando e C- | immettere il simbolo |, premendo C- | eseguirà il comando.
- 1. Come rendere una chiave mappata ripristinare il comportamento predefinito
- 2. Una chiave esterna può agire come una chiave primaria?
- 3. Mappatura di una chiave primaria come chiave esterna nel database
- 4. Come convertire una chiave privata in una chiave privata RSA?
- 5. Come modificare l'azione referenziale della chiave esterna? (Comportamento)
- 6. come trovare il codice chiave per una chiave specifica
- 7. Node_redis - come rimuovere una chiave?
- 8. Garantire una chiave di licenza con chiave RSA
- 9. Chiave Java - mappa chiave
- 10. Leggere una chiave di registro
- 11. Come aggiungere un'associazione EF6 a una chiave candidata/chiave univoca che non è la chiave primaria?
- 12. Come ottenere una chiave API di Facebook?
- 13. chiave php() in foreach-loop strano comportamento o ottenere la chiave successivo ciclo foreach
- 14. Rinomina una chiave di dizionario
- 15. Specifica di una chiave primaria su @ElementCollection
- 16. chiave composita come chiave esterna (SQL)
- 17. Chiave primaria contro chiave
- 18. Creazione di una std :: unordered_map con una chiave std :: pair come chiave
- 19. Chiave esterna per chiave composta
- 20. Hibernate chiave esterna con una parte della chiave primaria composita
- 21. Comportamento javascript dispari per il controllo della chiave "costruttore" nell'oggetto
- 22. PDO fetchAll() chiave primaria come chiave del gruppo di array
- 23. VB.NET Comportamento delle parole chiave WithEvents: restrizione del compilatore VB.NET?
- 24. PHP openssl_public_encrypt "parametro chiave non è una chiave valida"
- 25. Eliminazione di una riga con una chiave
- 26. Posso avere una mappa chiave-chiave (al contrario del valore-chiave) in Java?
- 27. diverso comportamento della parola chiave "this" tra node.js e browser
- 28. Chiave primaria composta, chiave esterna. Riferimento a oggetto o chiave?
- 29. struct come chiave di unordered_map
- 30. Come definire una chiave composta in Persistente
+1 ma ... * "Il controllo da solo non è un tasto prefisso, o addirittura un tasto, poiché non invia una pressione di tasto" * ... Il controllo sicuramente invia un keypress da solo . Puoi usare, diciamo, * xev * sotto Linux per vederlo. Invia sia un tasto premuto quando lo si preme sia un tasto quando lo si rilascia. Un * xev * output per CTRL sul mio sistema fornisce: * KeyPress eventKeyPress evento ... stato 0x14, keycode 37 (keysym 0xffe3, Control_L) ... * ecc. Mi dispiego che hai scritto che il controllo non è "davvero un chiave a tutti ". I tasti CTRL e CAPS-LOCK della mia tastiera sono stati rimappati per agire come se il CTRL si offendesse; – TacticalCoder
@TacticalCoder: punto corretto, per quanto riguarda X. Ma non penso che il tasto premuto su X sia visibile a Emacs da solo. Non è comunque possibile per Emacs rilevare o rispondere a un tasto modificatore se non sta modificando un altro tasto. Quindi, dal punto di vista di Emacs, CTRL da solo non è una chiave finché non viene combinato con un'altra chiave. – Tyler