J'ai travaillé dans NetBeans et j'ai apprécié cette fonctionnalité : lorsque vous placez le curseur sur le nom d'une variable, toutes les occurrences de cette variable sont mises en évidence. C'est très utile pour rechercher rapidement toutes les occurrences de la variable. Est-il possible d'ajouter ce comportement à Vim ?
Réponses
Trop de publicités?vim_current_word
fonctionne d'emblée, est conscient de la syntaxe et permet de personnaliser les couleurs.
Cette variante est optimisée pour la vitesse (utilise CursorHold au lieu de CursorMoved) et la compatibilité avec hlsearch
. La mise en évidence du mot recherché en cours ne sera pas perturbée.
" autosave delay, cursorhold trigger, default: 4000ms
setl updatetime=300
" highlight the word under cursor (CursorMoved is inperformant)
highlight WordUnderCursor cterm=underline gui=underline
autocmd CursorHold * call HighlightCursorWord()
function! HighlightCursorWord()
" if hlsearch is active, don't overwrite it!
let search = getreg('/')
let cword = expand('<cword>')
if match(cword, search) == -1
exe printf('match WordUnderCursor /\V\<%s\>/', escape(cword, '/\'))
endif
endfunction
Similaire à la réponse acceptée, mais cette façon vous permet de définir un délai après avoir maintenu le curseur sur un mot avant que la mise en évidence n'apparaisse. Le site 1000
est exprimée en millisecondes et signifie qu'elle sera mise en évidence après 1 seconde.
set updatetime=1000
autocmd CursorHold * exe
\ printf('match IncSearch /\V\<%s\>/', escape(expand('<cword>'), '/\'))
Ver :h CursorHold
pour plus d'informations.
- Réponses précédentes
- Plus de réponses