Vim: 使用globpath获取不同的文件类型
Vim: use globpath to obtain different filetypes
我的 Desktop
中有三个文件:foo.py
、foo.tex
和 foo.pdf
。我想使用 globpath()
函数获取 python
和 tex
文件的完整路径,而不是 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)')
glob[path]()
函数仅支持有限的一组 :help wildcards
。您不能像使用正则表达式那样进行交替。相反,只需多次调用函数并连接结果:
:echo globpath('C:\Users\Pedro\Desktop', 'foo.tex') . globpath('C:\Users\Pedro\Desktop', 'foo.py')
最近的 Vim 版本支持 , {list}
标志,您可以用它制作 globpath()
return 列表(用 +
连接而不是 .
).
请注意,您的示例没有实际的通配符是愚蠢的;如果您只需要将 filespec 转换为绝对形式,您最好使用 fnamemodify(path, ':p')
.
我的 Desktop
中有三个文件:foo.py
、foo.tex
和 foo.pdf
。我想使用 globpath()
函数获取 python
和 tex
文件的完整路径,而不是 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)')
glob[path]()
函数仅支持有限的一组 :help wildcards
。您不能像使用正则表达式那样进行交替。相反,只需多次调用函数并连接结果:
:echo globpath('C:\Users\Pedro\Desktop', 'foo.tex') . globpath('C:\Users\Pedro\Desktop', 'foo.py')
最近的 Vim 版本支持 , {list}
标志,您可以用它制作 globpath()
return 列表(用 +
连接而不是 .
).
请注意,您的示例没有实际的通配符是愚蠢的;如果您只需要将 filespec 转换为绝对形式,您最好使用 fnamemodify(path, ':p')
.