在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。
有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?
在Vim中进行搜索后,我突出显示了所有事件。我怎样才能禁用它?我现在再次搜索一些找不到的胡言乱语。
有没有一种方法可以暂时禁用高亮显示,然后在需要时再次启用?
当前回答
另外一个解决方案是结合两个顶级答案:
"To clear the last used search pattern:
nnoremap <F3> :let @/ = ""<CR>
其他回答
基于@baruch偶数答案,您可以在正常模式下双击ESC删除搜索项,方法如下:
nnoremap <esc> :let @/ = ""<return><esc>
nnoremap <esc>^[ <esc>^[
我的猜测是,最初的问题不是禁用搜索突出显示,而是简单地从上次搜索中清除突出显示。搜索原始海报中提到的乱码字符串的解决方案是我用了一段时间来清除先前搜索中突出显示的解决方案,但它既丑陋又麻烦。
我发现了几个添加nnoremap的建议。。。~/.vimrc在这里的效果是在启动时将vim置于替换模式,这根本不是我想要的。我找到的最简单的解决方案是添加行
nmap <esc><esc> :noh<return>
这符合KISS原则,不会干扰箭头键,而使用一个<esc>就可以了。在命令模式下需要一个double-<esc>(或者在插入或替换模式下需要三个-<esc>)来清除先前搜索中的突出显示,但从UI角度来看,这使得操作尽可能简单。
永久禁用搜索突出显示
每当您使用/
:set nohlsearch
清除突出显示,直到下一次搜索
:noh
或:nohlsearch(清除,直到按下n或n)
按ESC键时清除高亮显示
nnoremap <esc> :noh<return><esc>
按另一个键或自定义地图时清除高亮显示
按\(反斜杠)时清除突出显示nnoremap\:noh<return>两次按下ESC时清除高亮显示nnoremap<esc><esc>:否<return>
要在下次搜索之前关闭突出显示,请执行以下操作:
:noh
或完全关闭高亮显示:
set nohlsearch
或者,要切换它:
set hlsearch!
nnoremap <F3> :set hlsearch!<CR>
如果您想快速启用/禁用高亮显示,可以将关键点映射到
" Press F4 to toggle highlighting on/off, and show current value.
:noremap <F4> :set hlsearch! hlsearch?<CR>
只需将上面的代码段放在.vimrc文件中。
这是我显示和隐藏搜索突出显示的最方便的方法
有关更多信息,请查看文档http://vim.wikia.com/wiki/Highlight_all_search_pattern_matches