我正在使用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
从我的vimrc中删除set runtimepath^=~/.vim/bundle/ctrlp.vim
后,错误就消失了,但很明显,即使我的插件停止工作也是不可取的。
请帮忙。
答案 0 :(得分:2)
该命令的格式错误:而不是
runtime autoload/ctrlp#utils#cachedir.vim
应该是
runtime autoload/ctrlp/utils/cachedir.vim
调用自动加载功能时使用#
分隔符,但:runtime
需要带路径分隔符的路径。在那里,#
和%
等特殊标识符生效,导致错误。
要解决这个问题,请找出发出错误命令的位置。
:verbose autocmd FuncUndefined
是一个好的开始。
答案 1 :(得分:0)
尝试将 [No Name] 缓冲区写入包含#include
的文件名时,Windows版本的GVim 8.1出现了相同的错误。在文件名中的每个\
前面放置一个#
可以解决此问题。
我认为这与Windows使用反斜杠分隔文件路径中的文件夹的约定相抵触,但是没有。