我在理解以下问题时遇到了麻烦:

${^fpath}/_git-*~(*~|*.zwc)(.N)


${^fpath}扩展fpath数组,(.N)限制匹配常规文件并设置NULL_GLOB选项。到目前为止,一切都很好。问题是_git-*~(*~|*.zwc)部分。据我了解,它首先匹配以_git-开头的所有内容,然后排除所有匹配(*~|*.zwc)的内容,但是那到底是什么呢?

最佳答案

我想我想出了一个想为@lolesque设计测试环境的想法。

这两个~具有不同的含义。第一个排除与以下模式匹配的所有内容,第二个排除与文字~匹配的内容。因此,该模式将匹配_git-foo,但不匹配_git-foo~中任何目录中的_git-foo.zwcfpath

08-05 01:34