0

我正在尝试使用鼠标进行搜索,如 VIM "super *"\ shift-mouse1 搜索。

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

(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,但我找不到类似的鼠标包。

4

1 回答 1

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。

于 2013-07-02T15:41:42.807 回答