【问题标题】:How do you make Vim unhighlight what you searched for? [duplicate]你如何让 Vim 不突出你搜索的内容? [复制]
【发布时间】:2010-09-11 01:55:29
【问题描述】:

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

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

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

【问题讨论】:

  • /<mash keyboard>
  • 绝对是 stackoverflow.com/questions/657447/… 的副本,应该关闭以引导那里的人
  • @BenCreasy 为什么将旧帖子称为新帖子的副本?
  • @Ruslan 有将近 10 倍的赞成票,而且他们都很老了(08 年和 09 年)
  • Vim 用这个杀死了我。我一直在输入 nohi,然后当它不起作用时,我输入 set nohi 等。每次我需要谷歌时。但 nohl 工作 o_O。是的,我是个菜鸟 x)

标签: search vim highlight


【解决方案1】:

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

【讨论】:

  • 不用担心,下次搜索时突出显示会返回。该命令可能应该命名为 clearhighlight。
  • @kmarks2 下个闰年见吧?
  • 只是澄清@steamer25 的评论。 :set nohlsearch 完全关闭搜索突出显示 :nohlsearch:noh 将清除当前突出显示,但让您处于 hlsearch 模式以进行下一次搜索。
【解决方案2】:

只要把它放在你的 .vimrc 中

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

【讨论】:

  • 哦,那是个好东西。我一直在使用 /@@ 只要我的文件中没有 @@ 就可以使用。我现在必须修改我的 vimrc!
  • 这太好了,治愈了我的很多头痛!我认为,最好在 vimrc (:nohlsearch) 中使用完整的命令,以避免将来发生冲突。
  • 我认为 c :nohl 是一个更好的选择。
  • @trillions - ctrl-l 仅在编辑 .vimrc 后启动 vim 时有效。
  • 这就是我 6 年后一直在寻找的东西。可能为时已晚。 :)
【解决方案3】:
*:noh* *:nohlsearch* :noh[lsearch] 停止 'hlsearch' 选项的高亮显示。它 使用搜索时自动重新打开 命令,或设置 'hlsearch' 选项。 此命令在自动命令中不起作用,因为 高亮状态被保存和恢复时 执行自动命令 |autocmd-searchpat|。 调用用户函数时也是如此。

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

【讨论】:

  • 在旁注中,奇怪的是必须 :noh 来关闭搜索突出显示,而不是 :hlsearch 必须设置 hlsearch 才能再次打开它。 (我想我不应该对 vim 的“怪异”感到惊讶......)
【解决方案4】:

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

set nohlsearch

【讨论】:

    【解决方案5】:

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

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

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

    【讨论】:

      【解决方案6】:

      /lkjasdf 对我来说一直比 :noh 快。

      【讨论】:

      • 在比我更了解 Vim 的人面前这样做是我了解 :nohls 的方式。
      • 太恶心了!它会将lkjasdf 添加到您的搜索历史记录中。
      • 然后让:noh为你更快:nnoremap &lt;leader&gt;h :noh&lt;cr&gt;
      • 你不能只编程 vim 在搜索历史中永远不包含 lkjasdf 吗?不过,不,等等,那个would be more of an Emacs solution...
      • 几年前我也得出了同样的结论,谢谢队友
      【解决方案7】:

      那我更喜欢这个:

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

      为什么?因为它切换开关:如果突出显示打开,然后按 F12 将其关闭。反之亦然。 HTH。

      【讨论】:

      • 这也可以通过“invhlsearch”设置来完成。
      • 我喜欢这个,但我认为您的i 映射使用gi 而不是a 会更好。或者&lt;C-o&gt;:set hls!&lt;CR&gt;
      • 但是F12是我的yakuake钥匙:(
      【解决方案8】:

      我搜索得如此频繁,以至于我发现映射下划线键以删除搜索突出显示很有用:

      nnoremap <silent> _ :nohl<CR>
      

      【讨论】:

        【解决方案9】:

        我的 .vimrc 中有这个:

        nnoremap ; :set invhlsearch<CR>
        

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

        【讨论】:

          【解决方案10】:

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

          <leader>c :nohl<CR>
          

          现在,当您的文档全部被突出显示的术语弄得一团糟时,您只需点击 , + C (我将我的领导者映射为逗号)。效果很好。

          【讨论】:

          • map &lt;leader&gt;c :nohl&lt;CR&gt; 将是您在 vimrc 中所需要的。
          【解决方案11】:
          " Make double-<Esc> clear search highlights
          nnoremap <silent> <Esc><Esc> <Esc>:nohlsearch<CR><Esc>
          

          【讨论】:

          • 为什么这个评分不高,这个比上面很多方法更简单直观。
          • 喜欢这个!谢谢!
          • 两个问题:1.为什么替换中需要第二个? 2. 你知道如何(暂时)为此禁用逃生铃吗?
          【解决方案12】:

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

          :let @/ = ""
          

          【讨论】:

          • nnoremap &lt;silent&gt; &lt;C-l&gt; :let @/=""&lt;CR&gt;
          【解决方案13】:

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

          map e/ /sdfdskfxxxxy
          

          在 ESC 模式下,我按e/

          【讨论】:

            【解决方案14】:

            另外,如果您想拥有一个工具并确保在您下次搜索某些内容时重新激活突出显示,您可以使用它

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

            【讨论】:

              猜你喜欢
              • 2010-10-05
              • 2010-10-19
              • 1970-01-01
              • 2010-10-09
              • 2019-08-31
              • 2017-06-26
              • 2015-08-29
              • 2012-03-18
              • 2010-10-20
              相关资源
              最近更新 更多