emacs在鼠标单击时使用高亮 - 符号模式

时间:2013-07-02 12:26:48

标签: vim emacs mouse elisp dot-emacs

我正在尝试使用鼠标进行搜索,就像在VIM“super *”\ shift-mouse1搜索中一样。

使用highlight-symbol模式获得(几乎)键盘搜索所需的行为,但我找不到对鼠标执行相同操作的方法。 我试过了:

(require 'highlight-symbol)
(global-set-key [(control f3)] 'highlight-symbol-at-point)// <- works for the keyboard
(global-set-key [(control shift mouse1)] 'highlight-symbol-at-point)

但是当我尝试Ctrl-Shift-Mouse1时,它不会搜索鼠标当前位置,而是搜索光标的当前位置。 有没有办法让我获得鼠标当前位置以供功能使用? highlight-symbol使用things-at-point,但我找不到类似的鼠标包。

1 个答案:

答案 0 :(得分:0)

这段代码可能会满足您的需求。请注意,您需要捕获事件,因此(interactive "e")

(global-set-key [(control shift mouse-1)]
                (lambda (event)
                  (interactive "e")
                  (save-excursion
                    (goto-char (posn-point (event-start event)))
                    (highlight-symbol-at-point))))

另外,我不得不使用mouse-1而不是mouse1 ... ymmv。