Emacs样式突出显示vim中的增量搜索

时间:2011-01-25 09:05:24

标签: vim highlight

在Vim中,有没有办法在搜索时为所有匹配启用动态突出显示?

如果我启用incsearch并输入“/ something”,它将仅突出显示第一个匹配项。如果我启用hlsearch并输入“/ something”,则在按Enter键之前不会发生任何事情(它只会突出显示上一次搜索)。

在emacs中,第一场比赛将突出显示,并且(在稍有延迟之后)屏幕上的所有其他比赛都以不同的颜色突出显示,在扫描一段代码中的匹配时提供几乎即时的反馈。

2 个答案:

答案 0 :(得分:4)

不回答您的问题,但也许this Wikia post可以提供帮助吗?

从那篇文章引用:

  

将以下代码放入vimrc或创建文件   〜/ .vim / plugin / autohighlight.vim(Unix)或   $ HOME / vimfiles / plugin / autohighlight.vim(Windows)包含   脚本如下。然后重启Vim。

     

要自动突出显示当前字词,请键入z/。把关掉,   再次输入z/

" Highlight all instances of word under cursor, when idle.
" Useful when studying strange source code.
" Type z/ to toggle highlighting on/off.
nnoremap z/ :if AutoHighlightToggle()<Bar>set hls<Bar>endif<CR>
function! AutoHighlightToggle()
  let @/ = ''
  if exists('#auto_highlight')
    au! auto_highlight
    augroup! auto_highlight
    setl updatetime=4000
    echo 'Highlight current word: off'
    return 0
  else
    augroup auto_highlight
      au!
      au CursorHold * let @/ = '\V\<'.escape(expand('<cword>'), '\').'\>'
    augroup end
    setl updatetime=500
    echo 'Highlight current word: ON'
    return 1
  endif
endfunction

答案 1 :(得分:-1)

将此添加到.vimrc

hi Search guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD

当然,您可能希望更改颜色以满足您的需求。