चीजों को कम से कम रखने के लिए, लेकिन अभी भी मेरे लिए पूरी तरह से काम करता है, मेरे पास यह है, ऊपर से प्रेरित: सादे हाइलाइट तक CursorMoved
:
function! HLNext()
let l:higroup = matchend(getline('.'), '\c'.@/, col('.')-1) == col('.')
\ ? 'SpellRare' : 'IncSearch'
let b:cur_match = matchadd(l:higroup, '\c\%#'.@/, 101)
redraw
augroup HLNext
autocmd CursorMoved <buffer>
\ execute 'silent! call matchdelete('.b:cur_match.')'
\ | redraw
\ | autocmd! HLNext
augroup END
endfunction
nnoremap <silent> * *:call HLNext()<CR>
nnoremap <silent> # #:call HLNext()<CR>
nnoremap <silent> n n:call HLNext()<cr>
nnoremap <silent> N N:call HLNext()<cr>
अब, n
यहां तक कि बिना hlsearch
मुझे दिखाता है कि मैं कर्सर ले जाने तक कहां उतरा था। इसका SpellRare
उपयोग केवल एक ही चरित्र से मेल खाने पर इसे और अधिक शानदार बनाने के लिए किया जाता है, अन्यथा यह चिकना हैIncSearch