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

Vim emacs在鼠标单击时使用高亮符号模式,vim,emacs,mouse,elisp,dot-emacs,Vim,Emacs,Mouse,Elisp,Dot Emacs,我正在尝试使用鼠标进行搜索,如VIM“super*”\shift-mouse1搜索 使用该模式获得(几乎)键盘搜索所需的行为,但我找不到一种方法来对鼠标执行相同的操作。 我试过: (需要突出显示符号) (全局设置键[(控制f3)]'在点处高亮显示符号)//这段代码可能会执行您正在查找的操作。请注意,您需要捕获事件,因此(交互式“e”): 而且,我不得不用鼠标1代替鼠标1。。。ymmv.这很奇怪,但你说得对-当我将鼠标1附加到你所做的函数时,它的别名就不起作用了。它以前确实有用。。。在任何情况下,

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

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

(需要突出显示符号)

(全局设置键[(控制f3)]'在点处高亮显示符号)//这段代码可能会执行您正在查找的操作。请注意,您需要捕获事件,因此
(交互式“e”)


而且,我不得不用鼠标1代替鼠标1。。。ymmv.

这很奇怪,但你说得对-当我将鼠标1附加到你所做的函数时,它的别名就不起作用了。它以前确实有用。。。在任何情况下,您的解决方案都运行良好。然而,这是相当迟钝的,因为它根据鼠标点击标记单词,但不会在突出显示的项目之间搜索,因为它们不在光标下。。。需要改进别名以将光标定位在该点上。如果要将光标定位在该点上,只需删除
保存偏移
(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)
(global-set-key [(control shift mouse-1)]
                (lambda (event)
                  (interactive "e")
                  (save-excursion
                    (goto-char (posn-point (event-start event)))
                    (highlight-symbol-at-point))))