我正在尝试在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
这样的东西吗?
C-h l
不满意吗? - tripleee