为emacs lisp注册点击事件

Dob*_*boy 1 lisp emacs

我想注册一个点击事件,并以此为基础进行的动作position,window...等.

此站点http://www.gnu.org/software/emacs/manual/html_node/elisp/Click-Events.html显示事件变量的布局,但如何将处理程序实际附加到单击事件.

所以,基本上我正在寻找一个attach-handler在下面的senario 中表现得像的函数.

(attach-handler [mouse-1] 
       `(lambda (e) (foo e))
Run Code Online (Sandbox Code Playgroud)

hua*_*uan 5

您可以使用声明的代码字母"e" interactive来访问该事件; 例如,以下内容将使左键单击在单击的点处插​​入事件数据:

(define-key global-map (kbd "<down-mouse-1>")
  (lambda (event)
    (interactive "e")
    (message "%s" event)
    (let ((posn (elt event 1)))
      (with-selected-window (posn-window posn)
        (goto-char (posn-point posn))
        (insert (format "%s" event))))))
Run Code Online (Sandbox Code Playgroud)