终端文件管理器:Yazi、nnn、Superfile、lf、Ranger、walk

Yazi

官网,集成在终端中的基于Rust开发、开源(GitHub,38.1K Star,866 Fork)跨平台文件管理器,具有异步I/O和高度可扩展性,支持所有macOS下Finder能实现的操作,比如搜索、预览图片和文件、批量处理、vim操作等。官方文档

功能特性:

  • 完全异步支持:所有I/O操作均为异步,CPU任务分散到多个线程中执行,从而充分利用可用资源。
  • 强大的异步任务调度与管理:提供实时进度更新、任务取消以及内部任务优先级分配功能。
  • 内置支持多种图像协议:集成Überzug++和Chafa,几乎覆盖所有终端。
  • 内置代码高亮和图像解码功能:结合预加载机制,大大加快图像和普通文件的加载速度。
  • 并发插件系统:用户界面插件(重写大部分用户界面)、功能插件、自定义预览器/预加载器/检测器/获取器;只是一些Lua代码。
  • 虚拟文件系统:远程文件管理,自定义搜索引擎。
  • 数据分发服务:基于客户端-服务器架构构建(无需额外服务器进程),与基于Lua的发布-订阅模型集成,实现跨实例通信和状态持久化。
  • 包管理器:只需一条命令即可安装插件和主题,并保持其最新状态,或将其固定到特定版本。
  • ripgrepfdfzfzoxide集成
  • 类Vim输入/选择/确认/命令/通知组件,支持自动补全cd路径
  • 多标签支持、跨目录选择、可滚动预览(适用于视频、PDF、存档文件、代码、目录等)
  • 批量重命名/创建、存档文件提取、可视化模式、文件选择器、Git集成、挂载管理器
  • 主题系统、鼠标支持、回收站、自定义布局、CSI u、OSC 52

快捷键/按键:

  • j/k或方向键:上下移动
  • h/l:返回上级/进入目录
  • Space:选中
  • y:复制
  • x:剪切
  • p:粘贴
  • /:过滤搜索
  • .:显示/隐藏隐藏文件
  • q:退出

实战

提供多种安装方式:

bash 复制代码
scoop install yazi
# 可选依赖
scoop install ffmpeg 7zip jq poppler fd ripgrep fzf zoxide resvg imagemagick
winget install sxyazi.yazi
winget install Gyan.FFmpeg 7zip.7zip jqlang.jq oschwartz10612.Poppler sharkdp.fd BurntSushi.ripgrep.MSVC junegunn.fzf ajeetdsouza.zoxide ImageMagick.ImageMagick

Yazi配置文件(~/.config/yazi/config.toml)示例:

toml 复制代码
[manager]
# 使用 fd 进行文件搜索
file_searcher = "fd"
# 使用 ripgrep 进行内容搜索  
content_searcher = "rg"
[preview]
# 使用 bat 进行文本预览
text_previewer = "bat"
# 使用 fzf 进行选择预览
selector = "fzf"
[navigation]
# 集成 zoxide 智能跳转
cd_command = "z"
[search]
# 实时搜索配置
live_search = true
live_search_delay = 300  # 毫秒

# ripgrep 高级选项
rg_options = [
    "--smart-case",
    "--hidden",
    "--follow",
    "--glob=!.git/*"
]

# fd 高级选项  
fd_options = [
    "--hidden",
    "--exclude=.git",
    "--type=f",
    "--follow"
]

[preview]
# fzf 预览配置
fzf_preview = "bat --style=numbers --color=always {}"
fzf_bindings = [
    "ctrl-f:preview-page-down",
    "ctrl-b:preview-page-up",
    "ctrl-d:preview-half-page-down",
    "ctrl-u:preview-half-page-up"
]

[keymap]
# 自定义快捷键
"ctrl-s" = "search:content"  # 使用 ripgrep 搜索内容
"ctrl-f" = "search:file"     # 使用 fd 搜索文件
"ctrl-z" = "nav:zoxide"      # 使用 zoxide 跳转

nnn

开源(GitHub,21.6K Star,804 Fork)终端文件管理器。

功能优势:

  • 体积极小:编译后的二进制文件通常只有200KB左右;
  • 运行时内存:内存占用更是低得惊人,通常不到3.5MB;
  • 终端退出时会自动停留在当前位置,而不是/home根目录,可继续完成未完成任务或操作。经常使用ssh的开发者们,肯定遇到服务器不稳定,连接被断开的场景;
  • 磁盘分析:直观地展示出各个目录的大小占用;
  • 插件系统:可实现文件预览、解压文档、挂载远程目录等高级功能。

实战

安装

bash 复制代码
brew install nnn
sudo apt install nnn

Superfile

官网,开源(GitHub,16.8K Star,441 Fork)界面炫酷、精致且轻量级终端文件管理神器,基于Go和Bubble Tea构建,

从GitHub release页面下载,解压后的spf文件复制到/usr/local/bin目录下即可使用spf命令。

命令行安装:

bash 复制代码
bash -c "$(curl -sLo- https://superfile.netlify.app/install.sh)"
powershell -ExecutionPolicy Bypass -Command "Invoke-Expression ((New-Object System.Net.WebClient).DownloadString('https://superfile.netlify.app/install.ps1'))"

界面分为文件区、侧边栏区、处理区、元数据区,通过不同的按键可以切换区域,再按一次按键可以回到文件区。

操作:

  • 切换至侧边栏区:S
  • 切换至处理区:P
  • 切换至处理区:M
  • 上下移动光标:上下键
  • 进入文件夹:→键或回车
  • 退出文件夹:←
  • 搜索:/
  • 收藏某个文件夹到侧边栏:Shift+P
  • 修改文件排序:0,支持按名称、大小、修改时间等
  • 创建文件:Ctrl+N键,结尾带/为目录,不带为文件
  • 编辑文件:E,打开nano编辑器,编辑完成后使用Ctrl+X键退出
  • 拷贝文件使用Ctrl+C键,剪切文件Ctrl+X键,删除文件Ctrl+D键,重命名文件Ctrl+R`键
  • 退出应用:ESC

lf

https://github.com/gokcehan/lf

9.1K Star,360 Fork

基于Go+Roff

Ranger

Python开发、基于终端/控制台的开源(GitHub,4.2K Star,329 Fork)文件管理器,将Vim风格引入终端文件导航,提供一种快速、极简的文件系统浏览方式。提供简洁的curses界面展示目录层级;内置rifle智能文件启动器,能根据文件类型自动选择打开程序。VI风格的操作键位,会用Vim就会用Ranger。

核心功能包括:多列显示、文件预览、常用文件操作(创建/修改权限/复制/删除/重命名)、Vim风格控制台和快捷键、退出后自动切换Shell目录、标签页和书签、支持鼠标。

常用快捷键:

  • j/k:向上向下
  • l:进入当前所选目录或打开文件
  • h:返回上级目录
  • g:导航
  • r:打开
  • y:复制
  • d:剪切或删除
  • p:粘贴
  • o:排序
  • z:更改设置
  • M:行模式
  • +, -, =:设置文件访问权限

实战

可选依赖:W3M-img/ueberzug(图片预览)、ffmpeg(视频缩略图)、libsixel(终端图片渲染)。

bash 复制代码
# macOS
brew install ranger
# Ubuntu/Debian
sudo apt install ranger
# Arch Linux
sudo pacman -S ranger
# PyPI安装(推荐pipx隔离环境)
pipx install ranger-fm
# 或直接pip
pip install ranger-fm

安装成功后,输入ranger命令,使用方向键或hjkl导航,回车打开文件,q退出。启动后可看到三栏布局:左边是父目录,中间是当前目录,右边是文件预览。

walk

基于Go语言、开源(GitHub,3.6K Star,108 Fork)终端文件管理器。

安装:

bash 复制代码
brew install walk
pkg_add walk
go install github.com/antonmedv/walk@latest
curl https://raw.githubusercontent.com/antonmedv/walk/master/install.sh | sh

拓展

ripgrep

fd

fzf

fx

Zoxide

项目主页,基于Rust开发、开源(GitHub,36.7K Star,822 Fork)终端工具,解决cd进入目录繁琐易忘等麻烦,统计用户进入目录的频次等数据,安装成功后输入z src就能直接进入源码目录,支持模糊匹配路径,一行命令安装,支持bash、zsh、fish、PowerShell等各种主流Shell。

相关推荐
AI砖家2 小时前
DeepSeek TUI 保姆级安装配置全指南 -Windows||macOS双平台全覆盖
服务器·前端·人工智能·windows·macos·ai编程·策略模式
有梦想的小何3 小时前
Cursor AI 编程实战(篇三):Domain、Infrastructure 与策略模式
java·ai编程·策略模式
多加点辣也没关系1 天前
设计模式-策略模式
java·设计模式·策略模式
悟05151 天前
设计模式-策略模式
设计模式·策略模式
skilllite作者2 天前
UI-TARS-Desktop 智能桌面自动化实战指南
ui·自动化·策略模式
Java知识技术分享2 天前
策略模式的两种实现:抽象类和接口
java·spring·策略模式
丷丩6 天前
策略模式实战:GeoAI-UP中MVT发布器的可扩展架构设计
人工智能·架构·gis·策略模式·空间分析·geoai
码界奇点7 天前
基于策略模式的多数据源爬虫系统设计与实现
爬虫·python·毕业设计·策略模式·源代码管理·数据库系统
05候补工程师7 天前
【Python实战】告别杂乱脚本!基于SOLID原则与策略模式的 PDF转Word 批量处理系统
python·设计模式·pdf·word·策略模式