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

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


当前回答

可以使用:noremap打开/关闭搜索结果,如下所示

:noremap<F3>:设置hls!hls<铬>

其他回答

几年前,我在vim.org上找到了这个答案:

将以下内容添加到.vimrc中:

"This unsets the "last search pattern" register by hitting return
nnoremap <CR> :noh<CR><CR>

因此,在搜索之后,只需在命令模式下再次单击return,突出显示就会消失。

这将在不活动的更新时间毫秒后清除搜索突出显示。

更新时间默认为4000ms或4s,但我将我的设置为10s。需要注意的是,updatetime不仅仅是这样,所以在更改之前请阅读文档。

function! SearchHlClear()
    let @/ = ''
endfunction
augroup searchhighlight
    autocmd!
    autocmd CursorHold,CursorHoldI * call SearchHlClear()
augroup END

要在下次搜索之前关闭突出显示,请执行以下操作:

:noh

或完全关闭高亮显示:

set nohlsearch

或者,要切换它:

set hlsearch!

nnoremap <F3> :set hlsearch!<CR>

有两个“必须拥有”插件:

sense-Ctrl-l用于nohlsearch和重绘屏幕。未被察觉的-[哦,]哦,控制搜索。

如果您安装了incsearch.vim插件,则有一个设置可以在搜索后自动清除突出显示:

let g:incsearch#auto_nohlsearch = 1