我在Vimscript中寻找一种优雅的方式来检查函数中当前目录中是否存在文件。
我想出了这个,但不确定这是否是最优雅的解决方案(我将设置vim选项,如果它存在) - 是否有任何方法不必对文件名进行另一次比较 - 可能使用不同的{{ 1}}内置函数(?):
vim
答案 0 :(得分:122)
在vim man
进行了一些搜索,我发现了这个,看起来比原来的要好得多:
:function! SomeCheck()
: if filereadable("SpecificFile")
: echo "SpecificFile exists"
: endif
:endfunction
答案 1 :(得分:46)
有些评论表达了对filereadable
和使用glob
的担忧。这解决了存在确实存在的文件的问题,但权限阻止了它被读取。如果要检测此类情况,可以使用以下方法:
:if !empty(glob("path/to/file"))
: echo "File exists."
:endif
答案 2 :(得分:5)
在已接受的答案上为metaphy's comment提供更多可见性:
如果文件可读(expand(“〜/ .vim / bundle / vundle / README.md”)),则让g:hasVundle = 1 endif
filereadable
是必需的,但是如果您在路径中使用expand
,则还有一个~
的方便步骤:
:function! SomeCheck()
: if filereadable(expand("SpecificFile"))
: echo "SpecificFile exists"
: endif
:endfunction
例如
:echo filereadable('~/.vimrc')
给出0
,:echo filereadable(expand('~/.vimrc'))
给出1
答案 3 :(得分:1)
对不起,为时已晚,但是这样做
(outPutArray.charAt(i))=inputArray[i]
对我来说很好