在Vim中,有沒有辦法在搜索時爲全部匹配啓用即時高亮顯示?在vim中增加搜索的Emacs風格突出顯示
如果我啓用incsearch並鍵入「/ something」,它將僅突出顯示第一個匹配項。如果我啓用hlsearch並輸入「/ something」,直到按下回車鍵(它只會突出顯示上一次搜索)纔會發生任何事情。
在emacs中,第一個匹配項將被高亮顯示,並且(在稍微延遲之後)屏幕上的所有其他匹配以不同的顏色高亮顯示,在掃描一段代碼中的匹配時幾乎可以立即提供反饋。
在Vim中,有沒有辦法在搜索時爲全部匹配啓用即時高亮顯示?在vim中增加搜索的Emacs風格突出顯示
如果我啓用incsearch並鍵入「/ something」,它將僅突出顯示第一個匹配項。如果我啓用hlsearch並輸入「/ something」,直到按下回車鍵(它只會突出顯示上一次搜索)纔會發生任何事情。
在emacs中,第一個匹配項將被高亮顯示,並且(在稍微延遲之後)屏幕上的所有其他匹配以不同的顏色高亮顯示,在掃描一段代碼中的匹配時幾乎可以立即提供反饋。
不回答你的問題,但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
添加到您的.vimrc
hi Search guifg=black guibg=#C6C5FE gui=BOLD ctermfg=black ctermbg=cyan cterm=BOLD
當然,你可能想改變顏色,以滿足您的需求。
+1分享鏈接到這個令人難以置信的有用提示! – eckes 2011-01-26 18:00:30
有趣的是,雖然我沒有立即看到如何使用它來實現我正在尋找的東西......(特別是如果你想要兩種顏色的話) – johv 2011-01-27 06:09:37