Je suis tombé sur le génial plugin ctrlp.vim . C'est une bonne alternative au plugin Command-T que j'ai utilisé auparavant. Ce que je n’aimais pas avec Command-T, c’est qu’il faudrait environ 20 à 30 secondes pour réanalyser les fichiers lorsqu’il est appelé pour la première fois après le démarrage de vim.
CtrlP fonctionne beaucoup plus rapidement, mais il ne semble pas que les fichiers récemment créés soient automatiquement réanalysés. Comment dois-je déclencher une nouvelle analyse manuellement?
Merci!
De la documentation :
<F5>
- Refresh the match window and purge the cache for the current directory.
- Remove deleted files from MRU list.
Cela suppose que vous êtes déjà en mode ctrl-p. Notez que vous pouvez appuyer sur F5 au milieu d’une requête, c’est-à-dire taper quelques caractères, trouver qu’il ne correspond pas à un fichier récemment mis à jour et appuyer sur F5 pour actualiser immédiatement. Il vous montrera automatiquement la correspondance si le fichier vient d'être ajouté au cache ctrl-p.
Comme Jeet dit que vous pouvez appuyer sur F5 mais si cela ne fonctionne pas, vous pouvez toujours exécuter :CtrlPClearCache
lequel est quoi F5 est censé courir.
De la documentation
: CtrlPClearCache
Vide le cache du répertoire de travail en cours. La même chose que d'appuyer à l'intérieur de CtrlP.
Pour activer ou désactiver la mise en cache, utilisez la commande | g: ctrlp_use_caching | option.
Si vous le souhaitez, vous pouvez décomposer automatiquement le cache lors de la sauvegarde, ce qui obligera à l'actualiser lors de la prochaine utilisation.
Mettez ceci dans votre vimrc (crédit docwhat ):
" CtrlP auto cache clearing.
" ----------------------------------------------------------------------------
function! SetupCtrlP()
if exists("g:loaded_ctrlp") && g:loaded_ctrlp
augroup CtrlPExtension
autocmd!
autocmd FocusGained * CtrlPClearCache
autocmd BufWritePost * CtrlPClearCache
augroup END
endif
endfunction
if has("autocmd")
autocmd VimEnter * :call SetupCtrlP()
endif
Malheureusement, il n'y a aucun moyen de garder automatiquement le cache à jour en arrière-plan.
J'ai ajouté ceci à .vimrc qui désactive la mise en cache ctrlp
g:ctrlp_use_caching = 0
Je sais que c'est une vieille question, mais c'est tellement simple que je dois commenter. Mettez ceci dans votre .vimrc
:nnoremap <c-p> :CtrlPClearCache<bar>CtrlP<cr>
Cela actualisera le cache, puis appellera CtrlP. Plus de fichiers manquants.