Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim函数展开始终返回空字符串_Vim - Fatal编程技术网

Vim函数展开始终返回空字符串

Vim函数展开始终返回空字符串,vim,Vim,这些天我发现当我在一些文件夹下打开vim时,函数expand不能像预期的那样工作,它总是返回空字符串,结果,我的一些vim插件无法工作 可通过以下步骤再现此过程: # cd some_folder # vim :echo expand('123') # empty output here 并非所有文件夹都会发生这种情况,但我找不到这些文件夹的模式 我怀疑可能有一些插件覆盖了expand功能,但我不知道如何解决它 有人能提供一些关于如何调试此问题的线索吗?找到了根本原因,在我的vimrc中

这些天我发现当我在一些文件夹下打开vim时,函数
expand
不能像预期的那样工作,它总是返回空字符串,结果,我的一些vim插件无法工作

可通过以下步骤再现此过程:

# cd some_folder
# vim
:echo expand('123')    # empty output here
并非所有文件夹都会发生这种情况,但我找不到这些文件夹的模式

我怀疑可能有一些插件覆盖了
expand
功能,但我不知道如何解决它


有人能提供一些关于如何调试此问题的线索吗?

找到了根本原因,在我的vimrc中,我设置了:

set wildignore+=*/tmp/*,*.so,*.swp,*.zip,*.pyc,*.o

然后,当我在路径中有
tmp
的文件夹中时,
expand
将始终返回空字符串。谢谢你的帮助

插件不能覆盖
expand
等函数。如
:help:function
中所述,用户定义的函数必须以大写字母开头。您可以通过输入
:function expand()
来确认这一点。由于可以重现问题,您可以尝试二进制搜索:移开一半插件,然后移开另一半插件,在问题发生时对出现的插件集重复此操作。你也可以对你的
.vimrc
。你真的在使用
expand('123')
?@FDinoff,我在使用
echo expand('123')
,在其他文件夹下,这个命令可以输出
123
@mMontu,谢谢你的解释,是的,
expand
不能被覆盖。我会尝试你的建议,找出哪个插件/脚本导致了这个问题。很有趣。它甚至在
:h expand()的第一句话中提到了它