Esiste una modalità per visualizzare la perdita di battitura in tempo reale?


17

C-h lmostra il buffer di aiuto per la perdita, che mostra le sequenze di tasti recenti. Premendo gappare per ripristinarlo, facendolo aggiornare. Sfortunatamente, l'abilitazione auto-revert-modenon la modifica per l'aggiornamento continuo.

Sarebbe bello se potessi aprire un'altra finestra o cornice e visualizzare la perdita in tempo reale per mostrare agli spettatori ciò che sto scrivendo. Questo potrebbe anche essere usato per l'associazione in una sessione tmux / tmate. Alcuni dei video online hanno qualcosa del genere, ma sembrano essere applicazioni esterne e specifici del sistema operativo.

C'è un modo carino per mostrare i tasti premuti in tempo reale mentre si verificano all'interno di Emacs?

Risposte:


19

Rispondere all'ultima domanda nel tuo post: puoi ottenere un registro di aggiornamento automatico dei comandi e dei tasti usando https://github.com/lewang/command-log-mode che è disponibile anche su MELPA - per impostazione predefinita mostra solo comandi non banali (quindi nessun comando di auto-inserimento o movimento del cursore). Sembra così:

inserisci qui la descrizione dell'immagine


9

Sì. C'è un pacchetto chiamato mwe-log-commands, che è disponibile in MELPA .

Basta eseguire M-x mwe:log-keyboard-commandsper avviare la registrazione, quindi M-x mwe:open-command-log-buffersi aprirà un buffer che mostra i comandi digitati in tempo reale.

command-log-mode è un fork più recente e gestito più attivamente mwe-log-commands, quindi potrebbe essere preferibile in questi giorni.


7

È possibile utilizzare un hook post-comando per aggiornare il buffer di perdita. Lo snippet seguente lo fa per te (su base locale buffer), ma presuppone che tu abbia rinominato il buffer di perdita in "Lossage" (in questo modo puoi ancora aprire altri buffer di aiuto).

(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)

3

Il buffer di aiuto per la perdita non è associato a un file sul disco. Quindi la modalità di ripristino automatico non funziona. È possibile utilizzare una pseudo alternativa in tempo reale (open-dribble-file "FILE")che scrive tutte le sequenze di tasti su FILE. L'uso auto-revert-tail-modedel buffer FILE può riflettere le sequenze di tasti.

Un altro modo sarebbe quello di consigliare self-insert-command(e alcune chiavi di prefisso) di fare eco a un buffer.

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.