在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。

有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?


当前回答

这是我使用的(从许多不同的问题/答案中提取):

nnoremap <silent> <Esc><Esc> :let @/=""<CR>

使用“double”Esc键可以删除突出显示,但一旦再次搜索,突出显示将再次出现。


另一种选择:

nnoremap <silent> <Esc><Esc> :noh<CR> :call clearmatches()<CR>

根据vim文档:

清除匹配()清除以前由|matchadd()|和|:match |命令。

其他回答

如果您想快速启用/禁用高亮显示,可以将关键点映射到

" Press F4 to toggle highlighting on/off, and show current value.
:noremap <F4> :set hlsearch! hlsearch?<CR>

只需将上面的代码段放在.vimrc文件中。

这是我显示和隐藏搜索突出显示的最方便的方法

有关更多信息,请查看文档http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches

我通常将:noh映射到反斜杠键。要重新启用突出显示,只需单击n,它将再次突出显示。

我把这个添加到我的vimrc文件中。

命令H让@/=“”

在您进行搜索并想清除搜索中的亮点后,只需执行以下操作:H

我个人喜欢将esc映射到命令:noh,如下所示:

地图<esc>:否<cr>

我最近写了一整篇关于Vim搜索的文章:如何在普通Vim上搜索,以及增强搜索功能的最佳插件。

我认为将@ShaunBouckaert和2009年3月19日16:22的答案混合在一起是一个很好的折中方案:

" Reset highlighted search
nnoremap <CR> :let @/=""<CR><CR>

按Enter键,突出显示的文本不再突出显示,而搜索突出显示仍处于启用状态。