从 vim 打开档案中的文件

从 vim 打开档案中的文件

我知道 vim 可以以交互方式打开 zip 或 tar{,.gz} 存档中的文件:首先打开存档,然后导航到正确的条目并按 Enter 键。

少管(https://github.com/wofr06/lesspipe) (这是一个预处理器较少的)提供了额外的便利,允许同时直接输入存档名称和存档中的文件名称(less foo.tgz:file-within-foo)(是的,我知道,理论上,这种方案会导致包含冒号的文件出现问题以他们的名义;实际上这种情况很少见......)。我想知道 vim 是否有类似的功能(也许作为插件)。

澄清:从根本上说,我要求的应该是“相对”简单(并且主要关注可用性 POV),因为大多数存档处理能力实际上已经存在于 vim 中:我只是在寻找一个插件,它将例如,转换为,vim foo.tgz:file-within然后在 vim 提供的列表中vim foo.tgz选择。file-within

答案1

大多数 Unix 变体都支持保险丝,它允许程序定义新的文件系统类型。有多种 FUSE 文件系统将存档内容公开为目录树。这样任何应用程序都可以透明地将存档内容视为普通文件。看我可以以压缩形式存储和使用目录吗?

例如,与AVFS,您获得只读访问权限:

mountavfs
cd ~/.avfs$PWD
vim foo.tgz\#/file-within-foo

存档挂载,您需要显式挂载每个存档,但您可以获得读写访问权限。

mkdir foo.d
archivemount foo.tgz foo.d
vim foo.d/file-within-foo
fusermount -u foo.d; rmdir foo.d

相关内容