Existe-t-il un mode d'affichage des pertes de frappe en temps réel?

17

C-h laffiche le tampon d'aide aux pertes, qui affiche les frappes récentes. Appuyez sur gpour le rétablir, ce qui entraîne sa mise à jour. Malheureusement, l'activation auto-revert-modene le modifie pas pour une mise à jour continue.

Ce serait bien si je pouvais ouvrir une autre fenêtre ou un autre cadre et afficher simplement la perte en temps réel pour montrer aux téléspectateurs ce que je tape. Cela pourrait également être utilisé pour l'appairage dans une session tmux / tmate. Certaines vidéos en ligne ont quelque chose comme ça, mais elles semblent être des applications externes et spécifiques au système d'exploitation.

Existe-t-il un bon moyen d'afficher les frappes en temps réel lorsqu'elles se produisent depuis Emacs?

dgtized
la source

Réponses:

19

Répondre à la dernière question de votre message: vous pouvez obtenir un journal de mise à jour automatique des commandes et des touches en utilisant https://github.com/lewang/command-log-mode qui est également disponible sur MELPA - par défaut, il n'affiche que commandes non triviales (donc pas de commandes d'auto-insertion ou de déplacement du curseur). Cela ressemble à ceci:

entrez la description de l'image ici

Joost Diepenmaat
la source
9

Oui. Il existe un package appelé mwe-log-commands, qui est disponible dans MELPA .

Il suffit d'exécuter M-x mwe:log-keyboard-commandspour commencer l'enregistrement, puis M-x mwe:open-command-log-bufferouvrira un tampon qui affiche les commandes tapées en temps réel.

command-log-mode est un fork plus récent et plus activement maintenu de mwe-log-commands, donc il pourrait être préférable de nos jours.

sanityinc
la source
7

Vous pouvez utiliser un hook post-commande pour mettre à jour le tampon de perte. L'extrait suivant fait cela pour vous (sur une base locale de tampon), mais il suppose que vous avez renommé le tampon de perte en "Lossage" (de cette façon, vous pouvez toujours ouvrir d'autres tampons d'aide).

(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
la source
3

Le tampon d'aide aux pertes n'est pas associé à un fichier sur le disque. Par conséquent, le mode de retour automatique ne fonctionne pas. Une alternative pseudo en temps réel peut être utilisée, (open-dribble-file "FILE")qui écrit toutes les frappes dans FILE. L'utilisation auto-revert-tail-modedu tampon FILE peut refléter les frappes.

Une autre façon serait de conseiller self-insert-command(et certaines clés de préfixe) de faire écho à un tampon.

Vamsi
la source