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

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


当前回答

nnoremap silent <cr> :noh<cr><cr>

这样我就可以在搜索后按回车键时,去掉命令行中显示的noh。

:就像开始输入一个新命令,Backspace将其清除并将焦点放回编辑器窗口。

其他回答

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

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

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

nnoremap silent <cr> :noh<cr><cr>

这样我就可以在搜索后按回车键时,去掉命令行中显示的noh。

:就像开始输入一个新命令,Backspace将其清除并将焦点放回编辑器窗口。

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

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

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

我最初的解决方案(下图)既肮脏又浪费。我现在使用:否

像Vim中的许多功能一样,正确的方法通常不容易发现。

--

(不要这样做)

搜索不太可能的字符序列(将主行上的键混合):

/;alskdjf;

这在vim和更少的情况下工作,并且比@ShaunBouckaert逻辑上更清晰的解决方案“清除上次使用的搜索模式”更容易记住/键入:

:let@/=“”

一个潜在的缺点是,它会将垃圾添加到您的搜索历史记录中。

在我的.vimrc.local文件中重新映射到,快速而脏,但功能非常强大:

" Clear last search highlighting
map <Space> :noh<cr>