Vim E194:没有替代文件名来代替'#';

Vim E194:没有替代文件名来代替'#';,vim,ctrlp,Vim,Ctrlp,我使用的是ctrlp.vim插件,它本质上是一个文件查找器。我遵循了此处提到的安装步骤: (使用git) 我的插件工作正常,正如预期的那样,但在启动vim时,我遇到以下错误: Error detected while processing FuncUndefined Auto commands for "*": E194: No alternate file name to substitute for '#': runtime autoload/ctrlp#utils#cachedir.vim

我使用的是ctrlp.vim插件,它本质上是一个文件查找器。我遵循了此处提到的安装步骤:

(使用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
时,错误会消失,但很明显,即使是我的插件也会停止工作,这是不需要的


请帮忙

该命令的格式错误:而不是

runtime autoload/ctrlp#utils#cachedir.vim
应该是

runtime autoload/ctrlp/utils/cachedir.vim
调用自动加载函数时使用
#
分隔符,但是
:runtime
需要带有路径分隔符的路径。在那里,诸如
#
%
等特殊标识符有效,这会导致错误


若要解决此问题,请找出发出此错误命令的位置

:verbose autocmd FuncUndefined

这是一个很好的开始。

我在尝试将[无名称]缓冲区写入包含
\include
的文件名时,遇到了与Windows版本的GVim 8.1相同的错误。在文件名中的每个
\
之前放置一个
\
,可以解决这个问题


我原以为这会与使用反斜杠分隔文件路径中文件夹的Windows惯例相冲突,但事实并非如此。

为什么
首先设置runtimepath^=~/.vim/bundle/ctrlp.vim
?遵循安装步骤。在这里查看:非常感谢。我找到了罪犯。我有-autocmd FuncUndefined*exe“运行时自动加载/”。展开(“”)。”。在我的vimrc中设置vim。我想我很久以前为其他插件做了这些,我不再使用这些插件了。评论它解决了我的问题。:)