如何在Emacs缓冲区中突出显示所有出现的单词?
记事本++有一个方便的function:如果你select一个文字(不一定是一个关键字),这个词在整个文本中突出显示。 这也可以在Emacs中完成吗? 如果是的话,怎么样?
它不一定非得像Notepad ++一样工作(即通过select)。 理想情况下,我想build立一个键绑定,导致光标下的所有单词被突出显示。
如果突出显示是永久性的,那就好了,也就是说,从突出显示的单词移开的点不应该导致突出显示被删除。
另外,如果有解决scheme可以在高亮区之间导航(使用自定义键绑定),那将会非常有用。
也许在http://nschum.de/src/emacs/highlight-symbol/的; highlight-symbol.el是你正在寻找的东西:
hi-lock
build议是好的。 但是我认为使用Mx版本更容易:
Mx highlight-regexp
RET <REGEXP>
Mx highlight-phrase
RET <REGEXP>
highlight-phrase
在highlight-regexp
周围只是一些糖,忽略大小写,并在正则expression式中转换空格以匹配任意空格。 便利。
键入Cs
,然后键入当前字或键入Cw
。 作为奖励,你现在可以再次击中Cs
来search这个词。
这被称为增量search 。
我使用的是闲置高亮
http://www.emacswiki.org/emacs/IdleHighlight
Mx空闲高亮设置一个空闲计时器,突出显示该点下的单词的缓冲区中的所有出现。
要在所有的编程模式下启用它,在~/.emacs.d/init.el
:
;; highlight words (add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t)))
光符号将突出显示任何符号点。
或者,您可以使用发生 ,其中列出匹配正则expression式的所有行。 快速查看课程中的所有function是有用的。
试试http://www.emacswiki.org/emacs/msearch.el用光标select的文本的所有出现都被突出显示。; 您必须拖动要突出显示的string。 这使您可以轻松更改select而不更改高亮。
如果你想保留一个string的突出显示,你可以冻结它。
您可以将一个缓冲区奴役到另一个缓冲区。 在主缓冲区中选中的文本也将在从缓冲区中高亮显示。 这对比较缓冲区很有用。 在调查另一个缓冲区中的文本的同时,还可以在一个缓冲区中logging笔记。 您可以在笔记缓冲区中拥有一组关键字。 拖过这样一个关键字,其调查文本中的出现将突出显示。
我现在正在使用这些东西。 最近我加了冻结。 所以,也许有什么东西坏了。 如果是这种情况,请在http://www.emacswiki.org/emacs/msearch或这里留言。;
这可能不如你所希望的那么好,但是如果你放了
(global-hi-lock-mode 1)
在您的.emacs
文件中,然后可以键入Cx wh REGEX <RET> <RET>
以突出显示所有REGEX
发生,并且Cx wr REGEX <RET>
使其再次不亮。 再次,不如你可能喜欢的优雅,但它会起作用。
选中交互式突出显示
应该:
C – x w < word > <RET> <RET>
库中的命令highlight.el
让你(un)使用覆盖或文本属性来突出显示匹配正则expression式的文本(在本例中是一个符号)。 你可以在事件之间循环。 突出显示可以是临时的或持久的。 (更多信息) 。
试试iedit.el。 它在点上突出显示了单词,并让您轻松编辑所有的事件。 通过额外的按键(C'),它隐藏了所有没有该单词的行。 非常便利!