标签: avfs

在 zsh 中完成 avfs 假目录

在某些情况下,如何调整 zsh 的完成系统以完成“假”文件?

更准确地说,AVFS文件系统通过在每个存档旁边创建一个“假目录”来将存档公开为目录。默认情况下,它复制其挂载点下的整个目录层次结构~/.avfs。此外,在 下~/.avfs,对于每个存档文件(例如 )/tmp/foo.zip,除了存档文件本身之外~/.avfs/tmp/foo.zip,还有一个称为~/.avfs/tmp/foo.zip#公开存档内容的目录。然而,这个额外的目录没有出现在 : 的列表中~/.avfs/tmp,它只在明确请求时才存在。(这类似于某些自动挂载器的操作方式。)

mountavfs
cd ~/.avfs/tmp/foo.zip\#
Run Code Online (Sandbox Code Playgroud)

当我键入类似上面的命令时,foo.zip#在 下不会显示为完成~/.avfs/tmp/,因为没有这样的目录。我怎么能告诉 zsh 每当有一个文件的完整路径$arc匹配~/.avfs/**/*.(tgz|zip)¹ 时,它应该假装有一个名为 的目录${arc}#

(请注意,我希望完成每次调用_filesor 时都可以使用_dirs,而不仅仅是cd命令。_files如果可能,我宁愿不必复制函数的代码。)

¹和所有其余的扩展

zsh autocomplete filenames avfs

37
推荐指数
1
解决办法
1490
查看次数

标签 统计

autocomplete ×1

avfs ×1

filenames ×1

zsh ×1