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

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


当前回答

我也不喜欢。我觉得进去很累:不。。。所以我把下面的映射放在.vimrc中

noremap <C-_> :nohl<cr>:<backspace>

第一位(:nohl<cr>)清除突出显示;第二位(:<backspace>)是清理命令行的技巧。搜索仍在后台,因此如果您只需单击n,它将重新突出显示并带您进入下一次搜索。

其他回答

我在~/.vimrc中使用以下内容

nnoremap<Leader><space>:noh<Enter>

这使得清除当前突出显示的搜索变得非常容易和快速。我的引导键被映射到\,所以这使得我的右手小指和拇指很容易执行这个动作。

为这两种行为定义映射,因为它们都很有用!

完全清除搜索缓冲区(例如,按n进行下一次匹配将不会继续搜索)保留搜索缓冲区,并切换突出显示搜索结果的开/关/开/。。。(例如,按n将继续搜索,但突出显示将基于切换的当前状态)

" use double-Esc to completely clear the search buffer
nnoremap <silent> <Esc><Esc> :let @/ = ""<CR>
" use space to retain the search buffer and toggle highlighting off/on
nnoremap <silent> <Space> :set hlsearch!<CR>

你可以的

:noh

或:nohlsearch暂时禁用搜索突出显示,直到下一次搜索。

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

:noh

或完全关闭高亮显示:

set nohlsearch

或者,要切换它:

set hlsearch!

nnoremap <F3> :set hlsearch!<CR>

nohlsearch的任何解决方案都不受欢迎,下一次搜索呢?最好的答案是由let@/=“”创建的,但我不喜欢mac上的按功能键映射,所以这里是我的答案:

let mapleader=','
let g:mapleader=','
nnoremap <leader>cs :let @/ = ""<cr>