我正在尋找一個如何在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個或更多字符**。在搜索模式中,這將是「。\ *」。請注意,「。」不用於文件搜索* –