README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
🗜️ compress.yazi
一款极速、灵活的 Yazi
归档插件
轻松优雅地压缩您的文件和文件夹!
📖 目录
🚀 功能
- 🗂️ 多格式支持: zip, 7z, rar, tar, tar.gz, tar.xz, tar.bz2, tar.zst, tar.lz4, tar.lha
- 🌍 跨平台: 支持 Unix 和 Windows
- 🔒 密码保护: 保护您的归档文件(zip/7z/rar)
- 🛡️ 头部加密: 隐藏文件列表(7z/rar)
- ⚡ 压缩级别: 在速度与大小之间选择平衡
- 🛑 覆盖安全: 防止意外丢失文件
- 🎯 无缝集成 Yazi: 快速、原生般的用户体验
📦 支持的文件类型
| 扩展名 | 默认命令 | 7z 命令 | Bsdtar 命令 (Win10+ & Unix) |
|---|---|---|---|
.zip | zip -r | 7z a -tzip | tar -caf |
.7z | 7z a | 7z a | |
.rar | rar a | ||
.tar | tar rpf | tar rpf | |
.tar.gz | tar rpf + gzip | 7z a -tgzip | tar -czf |
.tar.xz | tar rpf + xz | 7z a -txz | tar -cJf |
.tar.bz2 | tar rpf + bzip2 | 7z a -tbzip2 | tar -cjf |
.tar.zst | tar rpf + zstd | tar --zstd -cf | |
.tar.lz4 | tar rpf + lz4 | ||
.tar.lha | tar rpf + lha |
⚡️ 安装
# Unix
git clone https://github.com/KKV9/compress.yazi.git ~/.config/yazi/plugins/compress.yazi
# Windows (CMD, not PowerShell!)
git clone https://github.com/KKV9/compress.yazi.git %AppData%\yazi\config\plugins\compress.yazi
# Or with yazi plugin manager
ya pkg add KKV9/compress
🔧 附加功能 (Windows)
要在 Windows 上启用额外的压缩格式和功能,请按照以下步骤操作:
-
安装 7-Zip:
将C:\Program Files\7-Zip添加到你的PATH。
这将启用对.7z归档文件和受密码保护的.zip文件的支持。 -
替代方案:安装 Nanazip:
7-Zip 的现代替代品,具有类似的功能和额外的特性。 -
安装 WinRAR:
将C:\Program Files\WinRAR添加到你的PATH。
这将启用对.rar归档文件的支持。 -
安装其他工具:
要使用lha、lz4、gzip等格式,请安装相应的工具并确保它们已添加到你的PATH。
🎹 Keymap 示例
将此添加到您的 keymap.toml:
[[mgr.prepend_keymap]]
on = [ "c", "a", "a" ]
run = "plugin compress"
desc = "Archive selected files"
[[mgr.prepend_keymap]]
on = [ "c", "a", "p" ]
run = "plugin compress -p"
desc = "Archive selected files (password)"
[[mgr.prepend_keymap]]
on = [ "c", "a", "h" ]
run = "plugin compress -ph"
desc = "Archive selected files (password+header)"
[[mgr.prepend_keymap]]
on = [ "c", "a", "l" ]
run = "plugin compress -l"
desc = "Archive selected files (compression level)"
[[mgr.prepend_keymap]]
on = [ "c", "a", "u" ]
run = "plugin compress -phl"
desc = "Archive selected files (password+header+level)"
🛠️ 用法
- 在 Yazi 中选择文件/文件夹。
- 按 c a 打开归档对话框。
- 选择:
- a 用于标准归档
- p 用于密码保护 (zip/7z/rar)
- h 用于加密头部 (7z/rar)
- l 用于设置压缩级别 (所有压缩算法)
- u 用于同时使用所有选项
- 输入名称 作为您的归档名(或留空以使用建议名称)。
- 如果提示,输入密码 和/或 压缩级别。
- 覆盖保护 如果文件已存在,新文件将被赋予后缀 _#。
- 享受您崭新的归档!
🏳️🌈 标志
- 组合标志以获得更多功能!
- 当用空格分隔标志时,请确保用单引号括起来(例如,
'-ph rar') -p密码保护 (zip/7z/rar)-h加密头部 (7z/rar)-l设置压缩级别 (所有压缩算法)-s静默成功消息<extention>指定默认扩展名(例如,7z,tar.gz)
组合多个标志:
[[mgr.prepend_keymap]]
on = [ "c", "a", "7" ]
run = "plugin compress '-ph 7z'"
desc = "Archive selected files to 7z (password+header)"
[[mgr.prepend_keymap]]
on = [ "c", "a", "r" ]
run = "plugin compress '-p -l rar'"
desc = "Archive selected files to rar (password+level)"
💡 提示
- 文件扩展名必须与支持的类型匹配。
- 所需的压缩工具必须已安装并在您的
PATH中(7zip/rar 等)。 - 如果未提供扩展名,将自动添加默认扩展名 (zip)。
- 如果文件名留空,插件将使用选定的文件名或父目录来命名归档,当选择多个文件时。