Я використовую цей фрагмент із фантастичної бесіди Даміана Конвей, « Миттєво кращий Vim» (4 м 59). Це призводить до того, що вся підсвітка коротко блимає, коли ви переходите між результатами пошуку.
" 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\%#'.@/
let ring = matchadd('ErrorMsg', target_pat, 101)
redraw
exec 'sleep ' . float2nr(a:blinktime * 1000) . 'm'
call matchdelete(ring)
redraw
endfunction
Якщо ви хочете, щоб зміни в підсвічуванні були більш стійкими, ви можете налаштувати цей дзвінок matchdelete
в інший час (наприклад, коли курсор рухається).
ОНОВЛЕННЯ:
Нещодавно я написав цю більш просунуту версію у відповідь на інше запитання. Він має такі зміни:
- (Необов’язково) блимає неодноразово: оригінальна версія Conway просто блимає один раз: увімкнено, а потім вимкнено,
- Дозволяє перервати мерехтіння, ввівши інші команди (наприклад,
n
знову натиснути, щоб перейти до наступного матчу.) Це дозволяє встановити довший час
ОНОВЛЕННЯ 2:
ВІМ-searchhi плагін забезпечує спочатку запитану функцію.