Gibt es einen Modus zum Anzeigen von Tastendruckverlusten in Echtzeit?

17

C-h lZeigt den Lossage Help Buffer an, der die letzten Tastatureingaben anzeigt. Durch Drücken gvon wird es zurückgesetzt und aktualisiert. Leider auto-revert-modeändert sich durch die Aktivierung nicht, dass das Update fortlaufend durchgeführt wird.

Es wäre schön, wenn ich ein anderes Fenster oder einen anderen Frame öffnen und nur den Verlust in Echtzeit anzeigen könnte, um den Zuschauern zu zeigen, was ich tippe. Dies kann auch zum Pairing in einer tmux / tmate-Sitzung verwendet werden. Einige der Online-Videos haben so etwas, aber sie scheinen externe Anwendungen und betriebssystemspezifisch zu sein.

Gibt es eine gute Möglichkeit, Tastatureingaben in Echtzeit anzuzeigen, wie sie in Emacs vorkommen?

dgtized
quelle

Antworten:

19

Die letzte Frage in Ihrem Beitrag adressieren : Sie können ein automatisch aktualisiertes Protokoll von Befehlen und Tastenanschlägen erhalten, indem Sie https://github.com/lewang/command-log-mode verwenden, das auch in MELPA verfügbar ist - standardmäßig wird es nur angezeigt Nicht-triviale Befehle (also keine Befehle zum Einfügen oder Bewegen des Cursors). Es sieht aus wie das:

Bildbeschreibung hier eingeben

Joost Diepenmaat
quelle
9

Ja. Es gibt ein Paket namens mwe-log-commands, das in MELPA verfügbar ist .

M-x mwe:log-keyboard-commandsStarten Sie einfach die Aufnahme und M-x mwe:open-command-log-bufferöffnen Sie einen Puffer, in dem die eingegebenen Befehle in Echtzeit angezeigt werden.

Der Befehlsprotokollmodus ist eine neuere und aktiv gepflegte Version von mwe-log-commands, daher ist dies heutzutage möglicherweise vorzuziehen.

sanityinc
quelle
7

Sie können einen Post-Command-Hook verwenden , um den Lossage Buffer zu aktualisieren. Das folgende Snippet erledigt dies für Sie (auf lokaler Pufferbasis), setzt jedoch voraus, dass Sie den Verlustpuffer in "Verlust" umbenannt haben (sodass Sie auf diese Weise weiterhin andere Hilfepuffer öffnen können).

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

Der Lossage Help Buffer ist keiner Datei auf der Festplatte zugeordnet. Daher funktioniert der automatische Zurücksetzungsmodus nicht. Eine Pseudo-Echtzeit-Alternative kann die Verwendung sein, bei (open-dribble-file "FILE")der alle Tastenanschläge in FILE geschrieben werden. Die Verwendung auto-revert-tail-modedes Dateipuffers kann die Tastenanschläge widerspiegeln.

Eine andere Möglichkeit wäre, Ratschläge self-insert-command(und einige Präfixschlüssel) zu geben, die in einen Puffer zurückgegeben werden sollen.

Vamsi
quelle