Emacs键盘记录器



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

似乎我可以通过pre-command-hook

中的real-last-command可靠地捕获最后一个命令

我可以这样写:

(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,但如果使用前缀参数,可能会有所不同。

是否也有访问参数的方法?比如real-last-command-arglist ?

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

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

最新更新