Vim E194:Нет альтернативного имени файла, которое можно было бы заменить на '#'

StackOverflow https://stackoverflow.com//questions/24032272

  •  21-12-2019
  •  | 
  •  

Вопрос

Я использую плагин ctrlp.vim, который по сути является средством поиска файлов.Я выполнил шаги по установке, как указано здесь:

http://kien.github.io/ctrlp.vim/#installation (используя git)

Мой плагин работает нормально, как и ожидалось, но при запуске vim я получаю следующую ошибку:

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

При удалении set runtimepath^=~/.vim/bundle/ctrlp.vim из моего vimrc ошибка исчезает, но, очевидно, даже мой плагин перестает работать, что нежелательно.

Пожалуйста, помогите.

Это было полезно?

Решение

Формат этой команды неверно: вместо

runtime autoload/ctrlp#utils#cachedir.vim
.

Это должно быть

runtime autoload/ctrlp/utils/cachedir.vim
.

Разделитель # используется, когда вызывает функции autoLoad, но :runtime требует пути, с отделениями путей.Там существуют специальные идентификаторы, такие как # и %, и это вызывает ошибку.


Чтобы исправить это, выясните из того, где выдается эта неправильная команда.

:verbose autocmd FuncUndefined
.

Хороший запуск.

Другие советы

У меня была такая же ошибка с Windows-версией GVim 8.1 при попытке написать [Без имени] буфер для имени файла, содержащего #include.Размещение \ перед каждым # в имени файла обходится проблема.

Я думал, что это будет противоречить соглашению Windows об использовании обратной косой черты для разделения папок в путях к файлам, но этого не произошло.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top