对于经常在终端中工作的开发者来说,文件管理是一项高频操作。传统的ls/cd/cp/mv命令虽然经典,但在处理大量文件时效率不高,而且缺乏预览能力。Yazi(github.com/sxyazi/yazi)一款用Rust编写的极速终端文件管理器,正在凭借其出色的性能和丰富的功能赢得越来越多开发者的青睐,目前GitHub星标超过3.6万。
一、项目简介
Yazi(意为鸭子)是一个用Rust语言编写的终端文件管理器,基于异步I/O实现,所有文件操作均为非阻塞式执行,CPU任务通过多线程充分利用硬件资源。这种架构使得Yazi在处理大目录、批量文件操作时有着极为优秀的表现,官方宣称在大多数场景下比传统文件管理器快数倍。Yazi目前处于公开Beta阶段,已可以作为日常主力工具使用。
二、核心特色功能
异步I/O是Yazi的性能基石。不同于传统同步阻塞的文件操作,Yazi在Rust的async生态基础上构建了整个文件操作层,这意味着即面对网络文件系统(NFS/SMB)或大目录扫描时,界面依然保持流畅,不会出现卡顿。多线程任务调度让CPU密集型操作(如压缩包解压、批量重命名)可以分优先级并行执行,用户可以实时看到进度条,支持中途取消。
图片预览是Yazi的另一大亮点。它内置支持多种终端图像协议,包括Kitty的Unicode占位符协议、iTerm2的内联图片协议、Sixel格式等,覆盖了主流终端应用。对于不支持图片协议的终端,Yazi还提供了ASCII art降级方案(通过Chafa库),确保在任何环境下都能有基本的预览体验。
代码高亮和文件预览方面,Yazi内置了语法高亮引擎和图片解码器,结合预加载机制,代码文件、PDF、压缩包、视频缩略图等都可以在终端内直接预览。对于开发者常用的视频文件,Yazi也能显示帧预览,大幅提升了日常使用体验。
插件系统是Yazi可扩展性的体现。用户可以通过Lua脚本编写UI插件、功能插件、自定义预览器、加载器、搜索器等。官方还提供了Git插件(显示分支状态)、挂载管理器等社区插件,通过Yazi内置的包管理器一条命令即可安装。
三、安装部署
Yazi可以通过多种方式安装。最推荐的是通过cargo安装(需要先安装Rust工具链):cargo install yazi。也可以通过系统的包管理器安装,例如在macOS上:brew install yazi;在Linux上可以通过各种包管理器安装。安装完成后,直接运行yazi命令即可启动。
四、使用方法
Yazi的操作方式融合了Vim的快捷键理念。基础操作:上下箭头或j/k键移动光标,回车进入目录或打开文件;q退出;y复制文件路径;x剪切;p粘贴;d删除;r重命名。进入目录后,可以用/键打开搜索面板,输入关键词实时过滤文件;:键打开命令行面板,可以执行自定义命令;Ctrl+f/x多选文件后批量操作;Tab键在新标签页中打开目录。Yazi还与ripgrep、fd、fzf、zoxide深度集成,可以在Yazi中直接调用这些工具。
五、适用场景
Yazi适合所有需要在终端中进行大量文件操作的开发者或运维人员。特别是需要频繁浏览代码目录、处理大量文件、预览图片或代码内容的场景,Yazi的优势尤为明显。由于完全开源且跨平台(支持Linux、macOS、Windows),可以无缝迁移工作环境。
六、开源协议
Yazi采用MIT开源许可证,完全免费开源。
服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。








暂无评论内容