我正在寻找一个如何在vim脚本中使用findfile函数来递归搜索文件,特别是使用通配符的示例。Vim findfile函数的用法?
每当我包含通配符作为第一个函数参数的一部分时,这似乎不起作用。
例如,下面的目录结构:
~/MyProject/
Test.sln
src/
Test.cs
如果我运行下面的功能,同时编辑同PWD集的文件test.cs中到〜/ MyProject的/ src目录
function! Test()
let a = findfile("*.sln", ".;")
echo a
endfunction
findfile似乎不会返回任何内容。但是,如果我修改函数删除widcard如下:
function! Test()
let a = findfile("Test.sln", ".;")
echo a
endfunction
它做什么,我所期望的。
我已经在ubuntu和windows上测试过了,我在两者上看到了相同的行为。我在这里做错了什么,或者findfile不支持通配符?缺乏对通配符的支持似乎是一个相当奇怪的遗漏。看来我在这里一定是做错了事。
:帮助文件搜索使我认为它试图支持globbing,但这在实践中似乎是错误的。这是vim中的一个bug吗? –
从'vim' [documentation](http://vimdoc.sourceforge.net/htmldoc/editing.html#file-searching):*'\ *'的用法很简单:**它匹配0个或更多字符**。在搜索模式中,这将是“。\ *”。请注意,“。”不用于文件搜索* –