¿Existe un modo para ver la pérdida de pulsación de tecla en tiempo real?

17

C-h lmuestra el búfer de ayuda de pérdida, que muestra las pulsaciones de teclas recientes. Al presionar gparece revertirlo, lo que hace que se actualice. Desafortunadamente, la habilitación auto-revert-modeno lo cambia para actualizarse continuamente.

Sería bueno si pudiera abrir otra ventana o marco y simplemente mostrar la pérdida en tiempo real para mostrar a los espectadores lo que estoy escribiendo. Esto también podría usarse para emparejarse en una sesión tmux / tmate. Algunos de los videos en línea tienen algo como esto, pero parecen ser aplicaciones externas y específicas del sistema operativo.

¿Hay una buena manera de mostrar las pulsaciones de teclas en tiempo real a medida que ocurren dentro de Emacs?

dgtized
fuente

Respuestas:

19

Abordar la última pregunta en su publicación: puede obtener un registro de actualización automática de comandos y pulsaciones de teclas utilizando https://github.com/lewang/command-log-mode, que también está disponible en MELPA; de forma predeterminada, solo muestra comandos no triviales (por lo que no hay comandos de autoinserción o movimiento del cursor). Se parece a esto:

ingrese la descripción de la imagen aquí

Joost Diepenmaat
fuente
9

Si. Hay un paquete llamado mwe-log-commands, que está disponible en MELPA .

Simplemente ejecute M-x mwe:log-keyboard-commandspara comenzar a grabar, luego M-x mwe:open-command-log-bufferabrirá un búfer que muestra los comandos escritos en tiempo real.

command-log-mode es una bifurcación más nueva y más mantenida activamente mwe-log-commands, por lo que podría ser preferible en estos días.

sanityinc
fuente
7

Puede usar un gancho de comando posterior para actualizar el búfer de pérdida. El siguiente fragmento lo hace por usted (localmente en el búfer), pero asume que ha cambiado el nombre del búfer de pérdida a "Pérdida" (de esta manera aún puede abrir otros búferes de ayuda).

(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
fuente
3

El búfer de ayuda de pérdida no está asociado con un archivo en el disco. Por lo tanto, el modo de reversión automática no funciona. Se puede utilizar una alternativa pseudo en tiempo real (open-dribble-file "FILE")que escribe todas las pulsaciones de teclas en FILE. El uso auto-revert-tail-modedel buffer FILE puede reflejar las pulsaciones de teclas.

Otra forma sería aconsejar self-insert-command(y algunas teclas de prefijo) para hacer eco en un búfer.

Vamsi
fuente