Frage

Ich verwende das Plugin ctrlp.vim, das im Wesentlichen ein Dateifinder ist.Ich habe die hier genannten Installationsschritte befolgt:

http://kien.github.io/ctrlp.vim/#installation (mit Git)

Mein Plugin funktioniert gut und wie erwartet, aber beim Starten von vim erhalte ich folgende Fehlermeldung:

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

Beim Entfernen set runtimepath^=~/.vim/bundle/ctrlp.vim Von meinem vimrc aus verschwindet der Fehler, aber offensichtlich funktioniert sogar mein Plugin nicht mehr, was nicht erwünscht ist.

Bitte helfen Sie.

War es hilfreich?

Lösung

Das Format dieses Befehls ist falsch:Anstatt

runtime autoload/ctrlp#utils#cachedir.vim

es sollte sein

runtime autoload/ctrlp/utils/cachedir.vim

Der # Trennzeichen wird verwendet, wenn Berufung Autoload-Funktionen, aber :runtime erfordert einen Pfad mit Pfadtrennzeichen.Darin sind die speziellen Identifikatoren wie z # Und % sind in Kraft, und das verursacht den Fehler.


Um das zu beheben, finden Sie heraus, von wo aus dieser falsche Befehl ausgegeben wird.

:verbose autocmd FuncUndefined

ist ein guter Anfang.

Andere Tipps

Ich hatte den gleichen Fehler mit der Windows-Version von GVim 8.1, als ich versuchte, eine zu schreiben [Kein Name] Puffer zu einem Dateinamen, der enthält #include.Platzieren eines \ vor jedem # im Dateinamen umgeht das Problem.

Ich dachte, es würde im Widerspruch zur Windows-Konvention stehen, Backslashes zur Trennung von Ordnern in Dateipfaden zu verwenden, aber das war nicht der Fall.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top