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

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


当前回答

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

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

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

其他回答

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

:noh

或完全关闭高亮显示:

set nohlsearch

或者,要切换它:

set hlsearch!

nnoremap <F3> :set hlsearch!<CR>

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

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

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

完全清除搜索缓冲区(例如,按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>
nnoremap silent <cr> :noh<cr><cr>

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

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

移动光标后立即关闭高亮显示:

安装vim-cool。创建它是为了解决这个特定问题。一旦移动光标,它就会关闭高亮显示。不过要注意,它需要一个最新的vim版本!