Untuk menjaga hal-hal minimal, tetapi masih berfungsi dengan baik untuk saya, saya punya ini, terinspirasi dari atas: sorot polos hingga 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>
Sekarang, n
bahkan tanpa hlsearch
menunjukkan kepada saya di mana saya mendarat sampai saya memindahkan kursor. Ini SpellRare
digunakan untuk membuatnya lebih ovbious ketika hanya satu karakter yang cocok, kalau tidak itu mulusIncSearch