Como descobrir qual comando acabei de executar acidentalmente com um atalho de teclado?

11

Existe um local onde o emacs armazena comandos que o usuário executou recentemente, principalmente por meio de atalhos de teclado? Caso contrário, seria possível dizer para armazená-los em algum lugar? Às vezes, digito o atalho de teclado errado por acidente e não sei o que fiz. Eu o desfiz, mas tendem a repetir esses atalhos acidentais de vez em quando, e não tenho idéia de como descobrir exatamente o que pressionei ou o comando que executei.

Eu sei como determinar qual comando está vinculado a uma chave. Meu problema é que não conheço nem o comando nem as teclas que apertei, apenas o efeito que elas tiveram e o fato de eu ter feito isso recentemente.

Zorgoth
fonte
Embora algumas funções sejam expressamente definidas last-commandpara algo especial, na maioria das vezes você pode apenas verificar o valor dessa variável para ver o último comando mais recente.
28417 lawlist

Respostas:

14

Quando alguma sequência de teclas acionar um comando inesperado, use view-lossage(vinculado C-h lpor padrão) para ver quais teclas o Emacs recebeu recentemente. Isso é mais útil desde o Emacs 25, pois agora também mostra os comandos invocados por cada sequência de teclas. Nas versões anteriores, você verá apenas as teclas brutas.

glucas
fonte
6

Como o @glucas mencionou, view-lossageajuda. Infelizmente, ele exibe relativamente poucos eventos e os usuários não têm controle sobre o número.

Como indicado C-h k C-h l, você pode gravar todos os caracteres do teclado usando open-dribble-file:

view-lossageé uma função Lisp compilada interativa em help.el.

Ele é obrigado a C-h l, <f1> l, <help> l.

(view-lossage)

Exibe as últimas teclas digitadas e os comandos são executados.

Para gravar todas as suas entradas, use open-dribble-file.


open-dribble-fileé uma função interna interativa no C source code.

(arquivo de drible aberto)

Comece a escrever todos os caracteres do teclado em um arquivo drible chamado FILE.

Se FILEestiver nil, feche qualquer arquivo de drible aberto. O arquivo será fechado quando o Emacs sair.

Esteja ciente de que isso registra TODOS os caracteres digitados! Isso pode incluir informações confidenciais, como senhas.

Desenhou
fonte