2011-01-25 89 views
7

在Vim中,有沒有辦法在搜索時爲全部匹配啓用即時高亮顯示?在vim中增加搜索的Emacs風格突出顯示

如果我啓用incsearch並鍵入「/ something」,它將僅突出顯示第一個匹配項。如果我啓用hlsearch並輸入「/ something」,直到按下回車鍵(它只會突出顯示上一次搜索)纔會發生任何事情。

在emacs中,第一個匹配項將被高亮顯示,並且(在稍微延遲之後)屏幕上的所有其他匹配以不同的顏色高亮顯示,在掃描一段代碼中的匹配時幾乎可以立即提供反饋。

回答

4

不回答你的問題,但this Wikia post可以幫助嗎?從該職位

報價:

將下面的代碼在你的vimrc,或創建文件 〜/ vim的/插件/ autohighlight.vim(UNIX)或 $ HOME/vimfiles /插件/ 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 
+0

+1分享鏈接到這個令人難以置信的有用提示! – eckes 2011-01-26 18:00:30

+0

有趣的是,雖然我沒有立即看到如何使用它來實現我正在尋找的東西......(特別是如果你想要兩種顏色的話) – johv 2011-01-27 06:09:37

-1

添加到您的.vimrc

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

當然,你可能想改變顏色,以滿足您的需求。