1

我正在使用 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时,错误消失了,但显然我的插件也停止了工作,这是不希望的。

请帮忙。

4

2 回答 2

2

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

runtime autoload/ctrlp#utils#cachedir.vim

它应该是

runtime autoload/ctrlp/utils/cachedir.vim

调用自动加载函数时使用#分隔符,但需要路径,带有路径分隔符。在那里,特殊标识符(例如和)有效,这会导致错误。:runtime#%


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

:verbose autocmd FuncUndefined

是一个好的开始。

于 2014-06-04T09:12:28.137 回答
0

尝试将[No Name]缓冲区写入包含#include. \在文件名中的每个之前放置一个#可以解决该问题。

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

于 2019-04-18T21:36:53.993 回答