Emacs 键盘记录器

标签 emacs elisp

我正在尝试在 Emacs 中实现一个键盘记录器(出于我自己的非恶意目的)。

似乎我可以通过 real-last-command 可靠地捕获最后一个命令在 pre-command-hook
所以,我可以做这样的事情:

(setq keylog-list nil)

(defun my-keylogger-function ()
  (setq keylog-list (cons real-last-command keylog-list)))

(add-hook 'pre-command-hook 'my-keylogger-function)

几个移动命令后,我们得到
keylog-list's value is
(describe-variable left-char left-char previous-line previous-line left-char eval-last-sexp)

但是,我也有兴趣捕获这些命令的参数(例如 left-char 的参数,默认情况下为 1 但如果使用前缀参数可能会有所不同。

有没有办法访问args?类似 real-last-command-arglist ?

最佳答案

emacs 中还内置了一个键盘记录器:(open-dribble-file)。

关于Emacs 键盘记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16910198/

相关文章:

c# - 如何为 C# 模式配置 Emacs speedbar?

emacs - 如何使用 Emacs、ESS、pandoc-mode 和 polymode 从 Rmd 文件创建 pdf?

emacs - emacs 中非字母数字字符的语法突出显示

emacs - 使用 sexp 进行组织模式捕获

Emacs:如何获得默认主题?

emacs - 如何在 elisp 中覆盖/更改模式键绑定(bind)?

emacs - org--agenda-prefix-format %?不起作用

emacs - 是否可以使用组织模式链接在源代码内部导航

elisp - 使用带有 remove-if-not 的 defstruct 数据库

emacs - 在 emacs 中的最后两个缓冲区之间来回切换