vimscript:如何检测特定文件是否存在

我在vimscript寻找一个优雅的方法来检查函数中当前目录中是否存在文件。

我想出了这个,但不知道如果这是最优雅的解决scheme(我会设置vim选项,如果存在的话) – 是否有任何方法不需要做另一个文件名的比较 – 也许使用不同的vim内置函数(?):

 :function! SomeCheck() : if findfile("SpecificFile", ".") == "SpecificFile" : echo "SpecificFile exists" : endif :endfunction 

vim man中search一下,我发现这个看起来好多了:

 :function! SomeCheck() : if filereadable("SpecificFile") : echo "SpecificFile exists" : endif :endfunction 

一些评论expression了关于filereadable和使用glob担心。 这解决了存在一个文件的问题,但是权限阻止了它被读取。 如果你想检测这种情况下,以下将工作:

 :if !empty(glob("path/to/file")) : echo "File exists." :endif