Чи існує режим перегляду втрат натискання клавіші в режимі реального часу?


17

C-h lпоказує буфер довідки про втрату, який показує останні натискання клавіш. Якщо натиснути, натисніть його g, щоб повернути його, примусивши його оновитись. На жаль, включення auto-revert-modeне змінює його на постійне оновлення.

Було б добре, якби я міг відкрити інше вікно або кадр і просто відобразити втрату в режимі реального часу, щоб показати глядачам, що я набираю. Це також може бути використане для створення пари в сеансі tmux / tmate. Деякі відео в Інтернеті мають щось подібне, але вони, схоже, є зовнішніми програмами та ОС.

Чи є приємний спосіб відобразити натискання клавіш у режимі реального часу, коли вони відбуваються зсередини Emacs?

Відповіді:


19

Адресуючи останнє запитання у своєму дописі: ви можете отримати журнал автоматичного оновлення команд та натискань клавіш, використовуючи https://github.com/lewang/command-log-mode, який також доступний на MELPA - за замовчуванням він лише показує нетривіальні команди (тому ніяких команд самовставки та переміщення курсору). Це виглядає приблизно так:

введіть тут опис зображення


9

Так. Є пакет під назвою mwe-log-commands, який доступний у MELPA .

Просто запустіть, M-x mwe:log-keyboard-commandsщоб почати запис, тоді M-x mwe:open-command-log-bufferвідкриється буфер, який показує набрані команди в режимі реального часу.

режим команд-журналу - це новіший і більш активно підтримуваний роздріб mwe-log-commands, тому, можливо, бажано сьогодні.


7

Для оновлення буфера втрат можна використовувати функцію " пост-команда" . Наступний фрагмент робить це для вас (на локальній основі буфера), але він передбачає, що ви перейменували буфер втрат у "Lossage" (тому таким чином ви все ще можете відкрити інші довідкові буфери).

(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

Буфер довідки про втрату не пов'язаний з файлом на диску. Отже, режим автоматичного повернення не працює. Можна використовувати альтернативу псевдо в реальному часі, (open-dribble-file "FILE")яка записує всі натискання клавіш на FILE. Використання auto-revert-tail-modeбуфера FILE може відображати натискання клавіш.

Іншим способом може бути порада self-insert-command(і деякі префіксні клавіші), щоб перегукуватись із буфером.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.