当前位置: 首页 > news >正文

【GitHub项目推荐--Yazi:极速异步终端文件管理器】⭐⭐⭐⭐⭐

简介

Yazi(中文意为“鸭子”)是一款由 Rust 语言编写的现代化终端文件管理器。它采用完全异步的 I/O 架构,旨在解决传统文件管理器(如 Ranger)在处理大量文件或高分辨率图像预览时的性能瓶颈。Yazi 不仅速度快,还提供了丰富的预览功能、强大的插件系统以及直观的 Vim 风格键位绑定,是开发者和系统管理员提升终端工作效率的利器。

主要功能

  • 全异步架构:所有文件 I/O 操作和 CPU 密集型任务(如压缩、解压、搜索)均在后台线程池中执行,UI 界面始终保持流畅响应,无卡顿感。

  • 智能预览:内置对图像、视频、PDF、Office 文档、代码文件(带语法高亮)的预览支持。通过集成 Kitty、iTerm2、Sixel 等终端图像协议,可直接在终端内显示图片缩略图,无需启动外部程序。

  • 三栏式布局:采用经典的 Miller Columns 布局,左侧显示父目录,中间显示当前目录列表,右侧实时预览选中文件的内容。

  • 集成生态:无缝集成fd(文件查找)、ripgrep(内容搜索)、fzf(模糊搜索)、zoxide(目录跳转)等现代命令行工具,提供极致的搜索与导航体验。

  • Lua 插件系统:支持通过 Lua 脚本自定义 UI 组件、预览器、文件操作逻辑,社区拥有丰富的主题和功能插件。

  • 虚拟文件系统(VFS):支持挂载远程服务器(SFTP)和压缩包,在单一界面中统一管理本地与远程文件。

  • 任务管理器:内置后台任务监控面板,可实时查看文件复制、移动、删除的进度,并支持取消正在进行的任务。

安装与配置

安装方法

使用 Cargo(推荐)

确保已安装 Rust 工具链,执行cargo install yazi --locked

使用包管理器

  • macOSbrew install yazi

  • Arch Linuxyay -S yazi(AUR)

  • NixOSnix-env -iA nixos.yazi

配置说明

Yazi 的配置文件位于~/.config/yazi/目录下,采用 TOML 格式。首次启动后,建议复制默认预设配置:

mkdir -p ~/.config/yazi cp -r /path/to/yazi/yazi-config/preset/* ~/.config/yazi/

核心配置文件包括:

  • yazi.toml:主配置,设置界面比例、排序规则、预览规则等。

  • keymap.toml:快捷键映射,支持 Vim 模式或自定义键位。

  • theme.toml:主题配色方案。

关键配置项:在yazi.toml中设置[open]规则,定义不同 MIME 类型文件的打开方式(如使用nvim打开文本文件)。

如何使用

启动命令为yazi。建议在 Shell 配置(如.zshrc)中添加包装函数,实现“退出 Yazi 后自动切换到当前目录”的功能。

基础操作(Vim 键位)

  • 导航j/k上下移动,h返回上级目录,l进入目录/打开文件。

  • 选择Space选中文件,v全选,y复制,x剪切,p粘贴,d删除到回收站。

  • 搜索f调用fd搜索文件名,S调用rg搜索文件内容。

  • 跳转z调用zoxide跳转到常用目录。

  • 预览:选中文件后,右侧面板自动显示内容。使用[/]在预览中上下滚动。

高级操作

  • 批量重命名:选中多个文件后按R,进入批量重命名模式。

  • 任务管理:按w打开任务管理器,查看后台任务进度。

  • 挂载远程:输入:mount sftp://user@host/path挂载远程服务器。

应用场景实例

实例 1:快速清理下载目录

用户进入~/Downloads目录,面对数百个杂乱的文件。使用f键输入*.mp4快速筛选出所有视频文件,按v全选,再按d一键删除。整个过程无需等待文件列表加载,界面响应即时。

实例 2:代码项目文件查找

开发者需要在一个大型 Rust 项目中查找所有包含serde导入的.rs文件。在项目根目录按S,输入use serde,Yazi 瞬间列出所有匹配文件。选中文件后,右侧预览窗格直接高亮显示匹配行,无需打开编辑器即可确认内容。

实例 3:服务器日志分析

通过 SFTP 挂载生产服务器日志目录。在终端内直接浏览.log文件,利用内置语法高亮快速定位 ERROR 级别的日志行。对于压缩的.gz日志包,Yazi 自动将其识别为虚拟目录,可直接进入查看内部文件结构,无需手动解压。

GitHub 地址

项目仓库:https://github.com/sxyazi/yazi

http://www.jsqmd.com/news/509120/

相关文章:

  • AI全身全息感知Holistic Tracking:5分钟快速部署,小白也能玩转543个关键点检测
  • 手把手教你用1Panel,30分钟在本地电脑跑起一个带Llama 3的智能知识库(MaxKB实战)
  • ## 20|Python 可维护架构实战:模块边界重构与技术债治理
  • 思源宋体深度应用指南:从技术原理到实战优化
  • STM32串口通信原理与硬件配置全解析
  • 番茄小说下载器:Rust重写的高性能离线阅读解决方案
  • 【GitHub项目推荐--Zoxide:智能化的终端目录导航工具】⭐⭐⭐⭐⭐
  • 用AirSim PythonAPI玩转无人机仿真:环境设置+传感器数据采集全流程
  • 危化品运输车辆数据集VOC+YOLO格式2007张1类别
  • STM32CubeMX实战:5个HAL库/LL库常见BUG及修复方案(附代码)
  • FlowState Lab实时交互生成效果:鼠标轨迹实时转化为波动动画
  • 深度解析:RePKG如何高效处理Wallpaper Engine资源文件
  • BetterNCM-Installer:智能化的网易云音乐插件一站式部署方案
  • 告别虚拟机!Win11上保姆级配置Kali Linux子系统,附图形化界面与阿里云源教程
  • 嵌入式调试日志四大输出方案:SRAM缓冲/SWO/DMA串口/GPIO模拟
  • LiuJuan Z-Image Generator垂直场景:古风写真、赛博朋克、胶片质感一键生成
  • 零基础高效获取同花顺问财数据:pywencai工具3大核心优势与实战指南
  • Pixel Dimension Fissioner代码实例:Python调用裂变API生成10组改写文本
  • 破局增长瓶颈:2026年温州新媒体培训市场领军者深度盘点 - 2026年企业推荐榜
  • Qwen3.5-9B保姆级教程:Conda环境隔离+torch.compile加速Qwen3.5-9B推理性能
  • 【GitHub项目推荐--AstrBot:面向 IM 平台的一站式 Agentic AI 助手】⭐⭐⭐⭐
  • 全栈开源CMS神器ChanCMS深度评测:从架构到实战的颠覆级体验
  • 【OpenClaw 全面解析:从零到精通】第 010 篇:OpenClaw多渠道接入:WhatsApp、Telegram、飞书等
  • LumiPixel Canvas Quest模型管理实战:版本控制与A/B测试流程
  • 中小企业AI落地新思路:Nanbeige 4.1-3B像素终端用于用户交互培训场景
  • Qwen2.5-7B快速体验:网页推理服务的搭建与使用
  • java数据库课程思政教学案例库管理系统
  • CYBER-VISION零号协议Java集成实战:构建企业级AI微服务应用
  • P8661 [蓝桥杯 2018 省 B] 日志统计【滑动窗口】
  • HR部门建立AI岗位标准,CAIE认证的等级划分是否清晰适用?