是否存在用于实时查看击键损失的模式?


17

C-h l显示损失帮助缓冲区,其中显示最近的击键。按g出现将其还原,使其更新。不幸的是,启用auto-revert-mode并不能将其更改为连续更新。

如果我可以打开另一个窗口或框架并实时显示损失以向查看者显示我正在输入的内容,那就太好了。这也可以用于tmux / tmate会话中的配对。一些在线视频具有类似的内容,但它们似乎是外部应用程序和特定于操作系统的。

在Emacs中实时发生击键时,是否存在一种很好的方法来实时显示击键?

Answers:



9

是。MELPAmwe-log-commands提供一个名为的软件包。

只需运行M-x mwe:log-keyboard-commands以开始记录,然后M-x mwe:open-command-log-buffer将打开一个缓冲区,该缓冲区实时显示键入的命令。

command-log-mode是的更新,更活跃的分支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(和一些前缀键)回显到缓冲区。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.