在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。
有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?
在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。
有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?
当前回答
在下次搜索之前关闭突出显示
:noh
其他回答
要在下次搜索之前关闭突出显示,请执行以下操作:
:noh
或完全关闭高亮显示:
set nohlsearch
或者,要切换它:
set hlsearch!
nnoremap <F3> :set hlsearch!<CR>
我最初的解决方案(下图)既肮脏又浪费。我现在使用:否
像Vim中的许多功能一样,正确的方法通常不容易发现。
--
(不要这样做)
搜索不太可能的字符序列(将主行上的键混合):
/;alskdjf;
这在vim和更少的情况下工作,并且比@ShaunBouckaert逻辑上更清晰的解决方案“清除上次使用的搜索模式”更容易记住/键入:
:let@/=“”
一个潜在的缺点是,它会将垃圾添加到您的搜索历史记录中。
来自VIM文档
要清除上次使用的搜索模式:
:let @/ = ""
这不会将模式设置为空字符串,因为这将匹配处处这种模式非常清晰,就像启动Vim时一样。
nnoremap silent <cr> :noh<cr><cr>
这样我就可以在搜索后按回车键时,去掉命令行中显示的noh。
:就像开始输入一个新命令,Backspace将其清除并将焦点放回编辑器窗口。
永久禁用搜索突出显示
每当您使用/
:set nohlsearch
清除突出显示,直到下一次搜索
:noh
或:nohlsearch(清除,直到按下n或n)
按ESC键时清除高亮显示
nnoremap <esc> :noh<return><esc>
按另一个键或自定义地图时清除高亮显示
按\(反斜杠)时清除突出显示nnoremap\:noh<return>两次按下ESC时清除高亮显示nnoremap<esc><esc>:否<return>