Existe um modo para visualizar a perda de pressionamento de tecla em tempo real?

17

C-h lmostra o buffer de ajuda de perda, que mostra pressionamentos de tecla recentes. Pressionar gaparece para revertê-lo, fazendo com que ele seja atualizado. Infelizmente, ativar auto-revert-modenão o altera para atualizar continuamente.

Seria bom se eu pudesse abrir outra janela ou quadro e apenas exibir perdas em tempo real para mostrar aos espectadores o que estou digitando. Isso também pode ser usado para emparelhar em uma sessão tmux / tmate. Alguns dos vídeos online têm algo parecido com isto, mas parecem ser aplicativos externos e específicos do sistema operacional.

Existe uma boa maneira de mostrar as teclas digitadas em tempo real, conforme ocorrem no Emacs?

dgtized
fonte

Respostas:

19

Abordando a última pergunta em sua postagem: você pode obter um log de atualização automática de comandos e pressionamentos de tecla usando https://github.com/lewang/command-log-mode, que também está disponível no MELPA - por padrão, ele mostra apenas comandos não triviais (portanto, nenhum comando de inserção automática ou de movimento do cursor). Se parece com isso:

insira a descrição da imagem aqui

Joost Diepenmaat
fonte
9

Sim. Existe um pacote chamado mwe-log-commands, que está disponível no MELPA .

Basta executar M-x mwe:log-keyboard-commandspara iniciar a gravação e M-x mwe:open-command-log-bufferabrirá um buffer que mostra os comandos digitados em tempo real.

command-log-mode é um fork mais novo e com manutenção mais ativa mwe-log-commands, portanto pode ser preferível hoje em dia.

sanityinc
fonte
7

Você pode usar um gancho pós-comando para atualizar o buffer de perda. O seguinte fragmento faz isso por você (em uma base local de buffer), mas assume que você renomeou o buffer de perda para "Lossage" (para que você ainda possa abrir outros buffers de ajuda).

(defun update-lossage-buffer ()
  "Update the \"Lossage\" buffer.
For this to work, visit the lossage buffer, and call
M-x rename-buffer Lossage RET"
  (save-excursion
    (let ((b (get-buffer "Lossage")))
      (when (buffer-live-p b)
        (with-current-buffer b
          (revert-buffer nil 'noconfirm))))))
(add-hook 'post-command-hook #'update-lossage-buffer nil 'local)
Malabarba
fonte
3

O buffer de ajuda de perda não está associado a um arquivo no disco. Portanto, o modo de reversão automática não funciona. Pode-se usar uma alternativa em tempo pseudo-real (open-dribble-file "FILE")que grava todas as teclas digitadas em FILE. O uso auto-revert-tail-modedo buffer FILE pode refletir as teclas digitadas.

Outra maneira seria aconselhar self-insert-command(e algumas teclas de prefixo) para ecoar em um buffer.

Vamsi
fonte