キーストロークの損失をリアルタイムで表示するモードはありますか?


17

C-h lは、最近のキーストロークを示す損失ヘルプバッファーを示しています。を押すgと元に戻り、更新されます。残念ながら、有効にauto-revert-modeしても、継続的に更新されるようには変更されません。

別のウィンドウまたはフレームを開いて、リアルタイムで損失を表示して、入力中の内容を視聴者に見せることができたらいいですね。これは、tmux / tmateセッションでのペアリングにも使用できます。オンラインのビデオの一部にはこのようなものがありますが、外部アプリケーションおよびOS固有のもののようです。

キーストロークをEmacs内からリアルタイムで表示する良い方法はありますか?

回答:



9

はい。というパッケージがありmwe-log-commands、これはMELPAで利用できます。

実行M-x mwe:log-keyboard-commandsして記録を開始するとM-x mwe:open-command-log-buffer、入力されたコマンドをリアルタイムで表示するバッファーが開きます。

command-log-modeは、より新しく、より積極的に維持されるforkでmwe-log-commandsあるため、最近では望ましい場合があります。


7

post-command-hook を使用して、損失バッファを更新できます 。次のスニペットは(バッファローカルベースで)それを行いますが、損失バッファの名前を「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-modeFILEバッファで使用すると、キーストロークを反映できます。

別の方法はself-insert-command、バッファにエコーするようアドバイス(およびいくつかのプレフィックスキー)することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.