Come scoprire quale comando ho appena eseguito accidentalmente con una scorciatoia da tastiera?


11

Esiste un luogo in cui emacs memorizza i comandi che l'utente ha eseguito di recente, in particolare tramite le scorciatoie da tastiera e, in caso contrario, sarebbe possibile dirgli di memorizzarli da qualche parte? A volte scrivo per sbaglio la scorciatoia da tastiera sbagliata e non so che cosa ho fatto. Lo annullo, ma tendo a ripetere queste scorciatoie accidentali di tanto in tanto, e non ho idea di come scoprire esattamente cosa ho premuto o quale comando ho eseguito.

So come determinare quale comando è associato a una chiave. Il mio problema è che non conosco né il comando né i tasti che ho premuto, solo l'effetto che hanno avuto e il fatto che l'ho fatto di recente.


Sebbene alcune funzioni siano espressamente impostate last-commandsu qualcosa di speciale, per la maggior parte puoi semplicemente controllare il valore di quella variabile per vedere l'ultimo comando più recente.
elenco delle leggi

Risposte:


14

Quando una sequenza di tasti attiva un comando imprevisto, utilizzare view-lossage(associato per C-h limpostazione predefinita) per vedere quali sequenze di tasti ha ricevuto Emacs di recente. Questo è molto utile da Emacs 25 poiché ora mostra anche i comandi invocati da ciascuna sequenza di tasti. Nelle versioni precedenti vedrai solo i tasti grezzi.


6

Come ha detto @glucas, view-lossageaiuta. Sfortunatamente, mostra relativamente pochi eventi e gli utenti non hanno alcun controllo sul numero.

Come C-h k C-h lti dice, puoi registrare tutti i caratteri della tastiera usando open-dribble-file:

view-lossageè una funzione Lisp compilata interattiva in help.el.

Esso è destinato a C-h l, <f1> l, <help> l.

(view-lossage)

Visualizza le ultime battute di input e i comandi vengono eseguiti.

Per registrare tutti i tuoi input, usa open-dribble-file.


open-dribble-fileè una funzione integrata interattiva in C source code.

(file-dribble-file aperto)

Inizia a scrivere tutti i caratteri della tastiera in un file dribbling chiamato FILE.

In FILEtal caso nil, chiudere qualsiasi file di dribbling aperto. Il file verrà chiuso all'uscita da Emacs.

Tieni presente che questo registra TUTTI i caratteri digitati! Ciò può includere informazioni riservate come password.

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.