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

mba*_*768 225 vim search highlight

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

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

当我完成搜索时,我不能只是用一把魔法钥匙来杀死高光吗?

Lee*_*e H 335

:noh (nohighlight的缩写)将成功.

  • 不用担心,突出显示会在下一次搜索时返回.命令应该命名为clearhighlight. (64认同)
  • 只是澄清@ steamer25的评论.`:set nohlsearch`完全关闭搜索突出显示`:nohlsearch`或`:noh`将清除当前突出显示,但让你进入hlsearch模式进行下一次搜索. (9认同)
  • 迟了四年,但谢谢.这是件好事. (7认同)

Luc*_* S. 171

把它放在.vimrc中

" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
Run Code Online (Sandbox Code Playgroud)

  • 哦,这是一个好东西.我一直在使用/ @@ <ENTER>,只要我的文件中没有@@就可以使用.我现在必须修改我的vimrc! (12认同)
  • <leader> c:nohl <CR>是一个更好的选择,我想. (7认同)
  • @trillions - ctrl-l只有在编辑.vimrc之后启动vim才会起作用,如图所示. (4认同)
  • 这太棒了,我的头疼很多!我认为,最好在vimrc(:nohlsearch)中使用完整命令以避免将来发生冲突. (2认同)
  • 这就是我6年后一直在寻找的东西.可能为时已晚.:) (2认同)

小智 79

/lkjasdf一直比:noh我快.

  • 在比我更了解Vim的人面前这样做是我学到的:nohls. (26认同)
  • 真恶心!它将`lkjasdf`添加到您的搜索记录中. (19认同)
  • 难道你不能只编程vim从不在搜索历史中包含`lkjasdf`吗?虽然,不,等等,[更多的是Emacs解决方案](https://xkcd.com/1172/)... (10认同)
  • 然后为你快速制作`:noh`:`nnoremap <leader> h:noh <cr>` (2认同)

And*_*ter 26

" Make double-<Esc> clear search highlights
nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
Run Code Online (Sandbox Code Playgroud)

  • 为什么这不是更高的评级,这比上面的许多方法更简单,更直观. (3认同)
  • 两个问题: 1. 为什么替换中需要第二个 &lt;Esc&gt; ?2.你知道如何(暂时)为此禁用逃生铃吗? (2认同)

Zso*_*kai 19

然后我更喜欢这个:

map  <F12> :set hls!<CR>
imap <F12> <ESC>:set hls!<CR>a
vmap <F12> <ESC>:set hls!<CR>gv
Run Code Online (Sandbox Code Playgroud)

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


Dan*_*uce 16

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

set nohlsearch
Run Code Online (Sandbox Code Playgroud)


Ken*_*ric 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 #,我一直在打,并突出显示当前页面上的所有单词,就像当前页面上的单词一样.


Dan*_*ler 5

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

<leader>c :nohl<CR>
Run Code Online (Sandbox Code Playgroud)

现在,每当您的文档中充满了突出显示的术语时,您只需按,+ C(我将我的领导者映射到逗号)。它工作完美。