web-dev-qa-db-fra.com

VIM plug-in ctrlp.vim: comment analyser à nouveau les fichiers?

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!

147
ko1Rn

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.

271
Jeet

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.

56
Oskar Persson

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.

6
mahemoff

J'ai ajouté ceci à .vimrc qui désactive la mise en cache ctrlp

g:ctrlp_use_caching = 0

3
Pip

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.

1
Luiz Rocha