6

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

看来我可以通过real-last-commandpre-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什么?

4

2 回答 2

5

键盘记录器也内置在 emacs 中:(open-dribble-file)。

于 2013-06-11T05:27:56.400 回答
3

为什么要记录最后一个(即上一个)命令?如果您this-command改为记录,则可以记录current-prefix-arg,这对应于使用的前缀参数。

于 2013-06-04T07:03:23.183 回答