Vim:使用globpath获取不同的文件类型

时间:2015-03-17 20:09:15

标签: vim glob

我的Desktop中有三个文件:foo.pyfoo.texfoo.pdf。我想使用globpath()函数来获取pythontex文件的完整路径,但不能获取pdf文件的完整路径。我知道我可以做到

:echo globpath('C:\Users\Pedro\Desktop', 'foo.tex')

:echo globpath('C:\Users\Pedro\Desktop', 'foo.py')

获取tex或python的完整路径。如何获取两个文件的完整路径?即我正在寻找像

这样的东西
:echo globpath('C:\Users\Pedro\Desktop', 'foo.(tex|py)')

1 个答案:

答案 0 :(得分:3)

glob[path]()个函数仅支持一组有限的:help wildcards。你不能像正则表达式那样进行交替。相反,只需多次调用该函数并连接结果:

:echo globpath('C:\Users\Pedro\Desktop', 'foo.tex') . globpath('C:\Users\Pedro\Desktop', 'foo.py')

最近的Vim版本支持, {list}标记,您可以使用该标记globpath()返回列表(与+而不是.连接)。


请注意,没有实际通配符的示例是愚蠢的;如果您只需要将filespec转换为绝对形式,最好使用fnamemodify(path, ':p')