当我搜索时,让Vim突出显示所有的搜索结果,并在我执行其他操作时关闭突出显示。

4
我希望我的 Vim 能够在我输入搜索内容时将所有搜索结果高亮显示,不仅仅是下一个搜索结果(如 incsearch),而是所有结果(如 hlsearch),并且与我输入同时进行。同时,我也希望一旦我执行搜索以外的任何操作就立即关闭搜索高亮显示。这可行吗?
2个回答

5

听起来你想要 haya14busa/incsearch.vim 这个插件。它最大的功能是在搜索时突出显示每个结果,你可以在这个gif中看到:

enter image description here

它还有其他功能。例如,可以配置在搜索完成后关闭高亮显示,并提供其他与搜索相关功能的有用映射。

n  
N  
*  
#  
g* 
g# 

你可以通过Neobundle/Vundle/vim-plug安装它,方法如下:
NeoBundle 'haya14busa/incsearch.vim'
Plugin 'haya14busa/incsearch.vim'
Plug 'haya14busa/incsearch.vim'

通过以下操作可以使用病原体:

git clone https://github.com/haya14busa/incsearch.vim ~/.vim/bundle/incsearch.vim

1
你可以尝试使用vim-cool插件,它在类似问题中被提到:

当你完成搜索时,Vim-cool会禁用搜索高亮,并在下一次搜索时重新启用。

当光标位于与上次搜索模式匹配的单词上时,Vim-cool会重新启用搜索高亮。

Vim-cool很酷。


这适用于自动启用/禁用 hlsearch,但它并不涵盖如何在输入搜索时显示所有搜索结果。 - DJMcMayhem
@DJMcMayhem 确实,我忽略了那一部分。 - mMontu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接