250

我在文件中搜索“nurple”。我找到了,太好了。但是现在,每次出现的“nurple”都会在黄色上呈现出病态的黑色。永远。

永远,也就是说,直到我搜索我知道不会找到的东西,例如“asdhfalsdflajdflakjdf”,这样它就会清除以前的搜索突出显示。

我不能在搜索完成后按一个魔法键来杀死高光吗?

4

14 回答 14

363

:noh(缩写nohighlight)将暂时清除搜索突出显示。下一次搜索仍将突出显示。

于 2008-09-19T03:08:49.950 回答
188

把它放在你的 .vimrc 中

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
于 2008-09-19T03:09:27.730 回答
88

/lkjasdf一直比:noh我快。

于 2008-09-19T03:15:32.163 回答
36
" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
于 2013-11-09T14:38:53.890 回答
20

然后我更喜欢这个:

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv

为什么?因为它会切换开关:如果突出显示处于打开状态,则按下F12将其关闭。反之亦然。HTH。

于 2008-09-19T06:02:25.570 回答
16

将以下行附加到您的末尾.vimrc以完全防止突出显示:

set nohlsearch
于 2008-09-19T03:12:19.613 回答
10
            *:noh* *:nohlsearch*
:noh[lsearch] 停止 'hlsearch' 选项的高亮显示。它
            使用搜索时自动重新打开
            命令,或设置 'hlsearch' 选项。
            此命令在自动命令中不起作用,因为
            高亮状态被保存和恢复时
            执行自动命令 |autocmd-searchpat|。
            调用用户函数时也是如此。

我在 下找到它:help #,我一直在点击它,它突出显示当前页面上的所有单词,就像当前页面一样。

于 2008-09-19T03:10:44.950 回答
4

我经常搜索,以至于我发现映射下划线键以删除搜索突出显示很有用:

nnoremap <silent> _ :nohl<CR>
于 2008-09-19T06:59:16.290 回答
4

我认为最好的答案是有一个领导者捷径:

<leader>c :nohl<CR>

现在,每当您的文档都被突出显示的术语弄得乱七八糟时,您只需点击,+ C(我将我的领导者映射到逗号)。它完美地工作。

于 2013-11-08T18:26:04.150 回答
3

hlsearchnohlsearch:help hlsearch将提供更多信息。

如果您想绑定F12以打开/关闭它,您可以使用它:

map     <F12>   :nohlsearch<CR>
imap    <F12>   <ESC>:nohlsearch<CR>i
vmap    <F12>   <ESC>:nohlsearch<CR>gv
于 2008-09-19T03:12:32.263 回答
3

我的 .vimrc 中有这个:

nnoremap ; :set invhlsearch<CR>

这样,;将切换搜索突出显示。通常,该;键会重复最新的 t/T/f/F 命令,但我从未真正使用过该功能。我发现此设置更有用,因为我可以非常快速地打开和关闭搜索突出显示,并且可以轻松地一目了然地了解我的搜索结果在哪里。

于 2008-09-19T13:21:26.660 回答
3

我认为“ Vim clear last search highlighting ”中的这个答案更好:

:let @/ = ""
于 2014-04-02T09:46:13.030 回答
0

此外,如果您想要一个工具并确保下次搜索时重新激活突出显示,您可以使用它

nmap <F12> :set hls!<CR>
nnoremap / :set hls<CR>/
于 2014-07-25T08:59:41.803 回答
-1

我将以下映射添加到我的 ~/.vimrc

map e/ /sdfdskfxxxxy

在 ESC 模式下,我按e/

于 2014-05-01T21:27:04.633 回答