Question

J'utilise le plugin ctrlp.vim qui est essentiellement un outil de recherche de fichiers.J'ai suivi les étapes d'installation mentionnées ici :

http://kien.github.io/ctrlp.vim/#installation (en utilisant git)

Mon plugin fonctionne bien et comme prévu mais au démarrage de vim, j'obtiens l'erreur suivante :

Error detected while processing FuncUndefined Auto commands for "*":
E194: No alternate file name to substitute for '#': runtime autoload/ctrlp#utils#cachedir.vim
Press ENTER or type command to continue

En supprimant set runtimepath^=~/.vim/bundle/ctrlp.vim depuis mon vimrc, l'erreur disparaît mais évidemment même mon plugin cesse de fonctionner, ce qui n'est pas souhaité.

S'il vous plaît, aidez-moi.

Était-ce utile?

La solution

Le format de cette commande est erroné :Au lieu de

runtime autoload/ctrlp#utils#cachedir.vim

ça devrait être

runtime autoload/ctrlp/utils/cachedir.vim

Le # le séparateur est utilisé lorsque appel fonctions de chargement automatique, mais :runtime nécessite un chemin, avec des séparateurs de chemin.Là, les identifiants spéciaux tels que # et % sont en vigueur, ce qui provoque l'erreur.


Pour résoudre ce problème, découvrez d'où cette mauvaise commande est émise.

:verbose autocmd FuncUndefined

est un bon début.

Autres conseils

J'ai eu la même erreur avec la version Windows de GVim 8.1 en essayant d'écrire un [Sans nom] tampon vers un nom de fichier contenant #include.Placer un \ avant chaque # dans le nom du fichier contourne le problème.

Je pensais que cela entrerait en conflit avec la convention Windows consistant à utiliser des barres obliques inverses pour séparer les dossiers dans les chemins de fichiers, mais ce n'est pas le cas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top