Emacs 单击时高亮显示引用

Emacs 单击时高亮显示引用,emacs,Emacs,如何在单击某个单词时自动高亮显示该单词的所有出现处 我不经常使用鼠标,但我希望我的编辑器能够尽可能地互动 像这样,但更聪明: 您可以使用空闲突出显示模式来获得类似的行为。这将突出显示该单词在某一点出现的所有内容,而无需单击 此模式可从package.el安装我一直在使用此代码段选择当前单词: 我试过用这个来构造你想要的东西。可能不完全是你想要的,但希望是一个起点 (defun click-select-word (event) (interactive "e") (hi-lock-mod

如何在单击某个单词时自动高亮显示该单词的所有出现处

我不经常使用鼠标,但我希望我的编辑器能够尽可能地互动

像这样,但更聪明:


您可以使用
空闲突出显示模式来获得类似的行为。这将突出显示该单词在某一点出现的所有内容,而无需单击


此模式可从
package.el安装

我一直在使用此代码段选择当前单词:

我试过用这个来构造你想要的东西。可能不完全是你想要的,但希望是一个起点

(defun click-select-word (event)
  (interactive "e")
  (hi-lock-mode 0)
  (let ((phrase (concat "\\b" (regexp-quote (thing-at-point 'symbol)) "\\b")))
    (highlight-regexp phrase)))

(global-set-key [mouse-1] 'click-select-word)

看来,这很容易理解

您可以将其绑定到鼠标单击:

(autoload 'tern-mode "tern" nil t)
(tern-mode t)
(local-set-key [mouse-1] 'tern-highlight-refs)

唉,计时器有点太多的互动性。你说太多的互动性是什么意思?我的意思是,当你不需要它时,它会浪费CPU,当你实际需要它时,你也必须等待。通过将计时器设置为0,我不等待它,我看不到明显的CPU影响。您可能可以使用
idle highlight mode.el
中定义的函数
idle highlight word at point
,以实现您的目标。此函数不使用正则表达式,因为正则表达式更易于阅读,并利用点处事物的
边界,因此您可以向它输入单词、符号或其他内容。这是一场胜利。我在emacs中尝试过,这个脚本不起作用,至少括号不匹配。我在…短语)后面加了一个右括号,仍然不起作用,请确认,thxYes,paren不见了-谢谢我重新编辑了。我刚刚测试过,它仍然对我有效。介意详细说明一下失败的原因吗?