你怎么让vim unhighlight你搜索的是什么?

时间:2008-09-19 03:05:25

标签: vim search highlighting

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

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

当我完成搜索时,我不能只用一个魔法键杀死高光吗?

14 个答案:

答案 0 :(得分:322)

:noh(nohighlight的缩写)可以解决问题。

答案 1 :(得分:161)

把它放在你的.vimrc

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>

答案 2 :(得分:76)

/lkjasdf对我来说总是比:noh快。

答案 3 :(得分:21)

" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>

答案 4 :(得分:19)

然后我更喜欢这个:

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

为什么?因为切换开关:如果高亮显示,则按 F12 将其关闭。反之亦然。 HTH。

答案 5 :(得分:16)

将以下行添加到.vimrc的末尾,以防止突出显示:

set nohlsearch

答案 6 :(得分:9)

            *:noh* *:nohlsearch*
:noh[lsearch]       Stop the highlighting for the 'hlsearch' option.  It
            is automatically turned back on when using a search
            command, or setting the 'hlsearch' option.
            This command doesn't work in an autocommand, because
            the highlighting state is saved and restored when
            executing autocommands |autocmd-searchpat|.
            Same thing for when invoking a user function.

我发现它就在:help #下面,我一直在打,并且突出显示当前页面上的所有单词,就像当前单词一样。

答案 7 :(得分:4)

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

nnoremap <silent> _ :nohl<CR>

答案 8 :(得分:4)

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

<leader>c :nohl<CR>

现在,只要你的文件都被突出显示的术语搞砸了,你就点击,c(我将我的领导者映射到逗号)。效果很好。

答案 9 :(得分:3)

我的.vimrc中有这个:

nnoremap ; :set invhlsearch<CR>

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

答案 10 :(得分:3)

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

:let @/ = ""

答案 11 :(得分:2)

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

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

map     <F12>   :nohlsearch<CR>
imap    <F12>   <ESC>:nohlsearch<CR>i
vmap    <F12>   <ESC>:nohlsearch<CR>gv

答案 12 :(得分:0)

此外,如果您想进行切换并确保在下次搜索内容时重新激活突出显示,则可以使用此

nmap <F12> :set hls!<CR>
nnoremap / :set hls<CR>/

答案 13 :(得分:-1)

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

map e/ /sdfdskfxxxxy

在ESC模式下,我按e/