在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。
有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?
在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。
有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?
当前回答
我也不喜欢。我觉得进去很累:不。。。所以我把下面的映射放在.vimrc中
noremap <C-_> :nohl<cr>:<backspace>
第一位(:nohl<cr>)清除突出显示;第二位(:<backspace>)是清理命令行的技巧。搜索仍在后台,因此如果您只需单击n,它将重新突出显示并带您进入下一次搜索。
其他回答
要在下次搜索之前关闭突出显示,请执行以下操作:
:noh
或完全关闭高亮显示:
set nohlsearch
或者,要切换它:
set hlsearch!
nnoremap <F3> :set hlsearch!<CR>
我最初的解决方案(下图)既肮脏又浪费。我现在使用:否
像Vim中的许多功能一样,正确的方法通常不容易发现。
--
(不要这样做)
搜索不太可能的字符序列(将主行上的键混合):
/;alskdjf;
这在vim和更少的情况下工作,并且比@ShaunBouckaert逻辑上更清晰的解决方案“清除上次使用的搜索模式”更容易记住/键入:
:let@/=“”
一个潜在的缺点是,它会将垃圾添加到您的搜索历史记录中。
我认为将@ShaunBouckaert和2009年3月19日16:22的答案混合在一起是一个很好的折中方案:
" Reset highlighted search
nnoremap <CR> :let @/=""<CR><CR>
按Enter键,突出显示的文本不再突出显示,而搜索突出显示仍处于启用状态。
移动光标后立即关闭高亮显示:
安装vim-cool。创建它是为了解决这个特定问题。一旦移动光标,它就会关闭高亮显示。不过要注意,它需要一个最新的vim版本!
从…起http://twitter.com/jonbho/status/2194406821
" Clear highlighting on escape in normal mode
nnoremap <esc> :noh<return><esc>
nnoremap <esc>^[ <esc>^[
第二行用于映射到转义键,因为Vim内部使用转义来表示特殊键。