有沒有辦法讓光標下vim中的搜索高亮文本與不在光標下的搜索文本具有不同的顏色?如何讓vim突出顯示光標下方的圖案顏色變化?
3
A
回答
2
我.vimrc
有這個代碼:
function! HiInterestingWord(n) " {{{2
" Save our location.
normal! mz
" Yank the current word into the z register.
normal! "zyiw
" Calculate an arbitrary match ID. Hopefully nothing else is using it.
let mid = 77750 + a:n
" Clear existing matches, but don't worry if they don't exist.
"silent! call matchdelete(mid)
try
call matchdelete(mid)
catch 'E803'
" Construct a literal pattern that has to match at boundaries.
let pat = '\V\<' . escape(@z, '\') . '\>'
" Actually match the words.
call matchadd("InterestingWord" . a:n, pat, 1, mid)
endtry
" Move back to our original location.
normal! `z
endfunction
"clear all highlighting
function! ClearAllHi()
for i in range(1,6)
let mid = 77750 + i
silent! call matchdelete(mid)
endfor
endfunction
nnoremap <silent> <leader>0 :call ClearAllHi()<cr>
nnoremap <silent> <leader>1 :call HiInterestingWord(1)<cr>
nnoremap <silent> <leader>2 :call HiInterestingWord(2)<cr>
nnoremap <silent> <leader>3 :call HiInterestingWord(3)<cr>
nnoremap <silent> <leader>4 :call HiInterestingWord(4)<cr>
nnoremap <silent> <leader>5 :call HiInterestingWord(5)<cr>
nnoremap <silent> <leader>6 :call HiInterestingWord(6)<cr>
hi def InterestingWord1 guifg=#000000 ctermfg=16 guibg=#ffa724 ctermbg=214
hi def InterestingWord2 guifg=#000000 ctermfg=16 guibg=#aeee00 ctermbg=154
hi def InterestingWord3 guifg=#000000 ctermfg=16 guibg=#8cffba ctermbg=121
hi def InterestingWord4 guifg=#000000 ctermfg=16 guibg=#b88853 ctermbg=137
hi def InterestingWord5 guifg=#000000 ctermfg=16 guibg=#ff9eb8 ctermbg=211
hi def InterestingWord6 guifg=#000000 ctermfg=16 guibg=#ff2c4b ctermbg=195
"}}}
這可以讓你按<leader>
+ 1-6
下光標在不同顏色的高發光字;按兩下清除突出顯示。 (您可以更改hi def...
中的顏色)命令。並且<leader>+0
清除所有亮點。
你可以把代碼放在你的vimrc中試試。
它的工作原理是這樣的:
1
人都用過solution基於達米安康威的談話
" Damian Conway's Die Blinkënmatchen: highlight matches
nnoremap <silent> n n:call HLNext(0.1)<cr>
nnoremap <silent> N N:call HLNext(0.1)<cr>
function! HLNext (blinktime)
let target_pat = '\c\%#'[email protected]/
let ring = matchadd('ErrorMsg', target_pat, 101)
redraw
exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
call matchdelete(ring)
redraw
endfunction
但就個人而言,我更喜歡簡單的,雖然這個亮點全line
"cursorline and it's highlighting
set cursorline
hi CursorLine cterm=NONE ctermbg=NONE ctermfg=green
相關問題
- 1. 重新加載Vim突出顯示設置和顏色方案
- 2. vim:爲什麼sh顏色方案突出顯示`$(...)`爲錯誤?
- 3. 在NetBeans中突出顯示Vim中光標下的變量
- 4. 如何鏈接vim配色方案中的突出顯示組?
- 5. YADR和Vim突出顯示顏色
- 6. 突出顯示不同條件下的顏色變化
- 7. 如何正確突出顯示VIM中的光標行?
- 8. VIM:如何在不使用NonText顏色元素的情況下更改「突破突出顯示」顏色
- 9. 突出顯示顏色的變化不會出現
- 10. 突出顯示標籤變化圖像
- 11. PyScripter - 更改突出顯示選項/顏色方案的Python
- 12. Eclipse突出顯示暗色方案
- 13. 如何突出顯示Xcode光標?
- 14. 突出顯示「全選」的顏色變化
- 15. VIM色彩方案顯示顏色不對
- 16. iOS - UIButton顯示突出顯示顏色
- 17. 設置vim的背景突出顯示顏色
- 18. 設置突出顯示顏色的vim括號
- 19. Flex TextArea - 如何突出顯示光標下的行/行?
- 20. 光標丟失爲突出顯示的文本 - Vim
- 21. 如何突出顯示圖像的android Imageview的顏色?
- 22. 如何更改標籤欄圖標的突出顯示顏色? (iPhone/iPad)
- 23. 如何更改Xcode 8中標籤欄圖標的突出顯示顏色?
- 24. 突出顯示VIM
- 25. 在Vim中禁用_all_顏色突出顯示
- 26. vim - 更改支架突出顯示顏色
- 27. 突出顯示UIButton標題顏色 - 如何關閉它?
- 28. 將vim GUI顏色方案轉換爲256色vim的自動化方法?
- 29. Vim使用*突出顯示一個字,而不移動光標
- 30. Vim:如何更改搜索匹配和quickfix選擇的突出顯示顏色
我不認爲這就是OP所要求的:除了Search之外,他基本上需要一個單獨的'SearchCurrent'高亮組。 –