引言
命令行是开发者的主场。一个趁手的终端工具,能让日常开发效率提升数倍。2026年,GitHub 上涌现出大量优秀的 CLI 工具项目,其中不少已经成长为各自领域的标杆。本文精选三个在 GitHub 上热度极高、实用性强的命令行工具——Yazi(终端文件管理器)、fzf(模糊查找器)和 gitui(Git 终端界面),覆盖文件管理、内容搜索和版本控制三大高频场景,帮助开发者打造更高效的终端工作流。
一、Yazi:极速终端文件管理器
GitHub 地址:https://github.com/sxyazi/yazi
Star 数:约 39,300
语言:Rust
最新版本:v26.5.6(2026年5月)
项目简介
Yazi 是一个用 Rust 编写的终端文件管理器,核心特点是全异步 I/O 架构。所有文件操作都是异步执行的,CPU 密集型任务分布在多个线程上,充分利用系统资源。配合内置的图像协议支持和代码高亮,Yazi 在终端中提供了接近图形界面文件管理器的体验。
核心功能
- 全异步架构:所有 I/O 操作异步执行,CPU 任务多线程分配,文件浏览和操作不会阻塞界面。
- 异步任务调度:提供实时进度更新、任务取消和内部任务优先级分配,大文件复制时界面依然流畅。
- 多图像协议支持:内置支持多种终端图像协议,集成 Überzug++,覆盖几乎所有主流终端。
- 代码高亮:内置语法高亮,浏览代码文件时无需额外配置。
- Visual 模式与批量重命名:支持可视化模式批量选择文件,并批量重命名。
- Vim 风格输入与选择组件:快速编辑文件名,选择打开方式。
- 多标签页与插件集成:支持多标签页操作,集成 fzf 和 zoxide 实现快速跳转。
- 多选与任务管理:可单独选择多个文件,执行复制、剪切等操作,由调度器统一管理。
安装方式
# macOS
brew install yazi
# Arch Linux
sudo pacman -S yazi
# 使用 Cargo 安装
cargo install --locked yazi
使用示例
# 启动 Yazi
yazi
# 在 Yazi 中按 v 进入 Visual 模式批量选择
# 按 d 剪切,p 粘贴
# 按 : 输入命令,支持 zoxide 跳转
适用场景
Yazi 适合所有需要在终端中频繁浏览和管理文件的开发者。特别是在 SSH 远程服务器场景下,Yazi 提供了远超传统 ls/cd/mv 的交互体验。对于 Rust 生态的用户来说,异步架构在大型目录和远程文件系统上的性能表现尤为突出。
二、fzf:通用命令行模糊查找器
GitHub 地址:https://github.com/junegunn/fzf
Star 数:约 81,000
语言:Go
许可证:MIT
项目简介
fzf 是一个用 Go 编写的通用命令行模糊查找器。它可以从任意输入列表中快速模糊匹配和筛选条目,是终端工作流中的"瑞士军刀"。无论是搜索文件、筛选 Git 分支、查找命令历史还是选择进程,fzf 都能提供极快的交互式筛选体验。81,000 的 Star 数也使其成为 GitHub 上最受欢迎的命令行工具之一。
核心功能
- 极速模糊匹配:使用高效的模糊匹配算法,即使在数十万条记录中也能实时筛选。
- 交互式界面:提供终端内的交互式选择界面,支持键盘导航和鼠标选择。
- 通用集成:可与 Bash、Zsh、Fish、Neovim、VS Code 等工具深度集成。
- 可扩展预览:支持自定义预览窗口,选中条目时实时显示对应内容。
- 多模式:支持单选、多选和切换选择模式。
- Ctrl-R 历史搜索:替换默认的 Shell 历史搜索,大幅提升命令查找效率。
安装方式
# macOS
brew install fzf
# 使用 Git 安装
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
# 使用 Go 安装
go install github.com/junegunn/fzf@latest
使用示例
# 模糊查找文件
find . -type f | fzf
# 模糊查找并打开文件
vim $(fzf)
# 搜索 Git 分支并切换
git checkout $(git branch -a | fzf | tr -d ' ')
# 搜索进程并 kill
kill -9 $(ps aux | fzf | awk '{print $2}')
# 搜索命令历史(Shell 集成后按 Ctrl-R)
# 直接输入关键词即可模糊匹配历史命令
适用场景
fzf 的通用性使其几乎适用于所有需要"从列表中选择"的场景。对于经常需要在大量文件、分支、历史命令或日志中查找的开发者,fzf 是终端效率提升最立竿见影的工具。配合 Shell 集成后,Ctrl-R 历史命令搜索的体验会彻底改变你对命令行的认知。
三、gitui:Rust 打造的 Git 终端界面
GitHub 地址:https://github.com/extrawurst/gitui
Star 数:约 21,700
语言:Rust
最新版本:v0.28.1
项目简介
gitui 是一个用 Rust 编写的 Git 终端 UI 工具。与 lazygit 不同,gitui 基于 libgit2 库和自研的异步 Git 层(asyncgit),不依赖系统 git 二进制文件。这种架构赋予 gitui 在大型仓库上的显著性能优势——基准测试显示,在大型 monorepo 中,gitui 的 CPU 使用量仅为 lazygit 的二分之一,内存占用仅为其十五分之一。
核心功能
- 纯键盘操作:快速直观的键盘控制,支持基于上下文的帮助提示,无需记忆大量快捷键。
- 完整的 Git 工作流:检查、提交、修改更改(支持 pre-commit、commit-msg、post-commit 等 Git hooks)。
- 精细暂存控制:支持文件、hunk 和行级别的暂存、取消暂存、撤销和重置。
- Stash 管理:保存、弹出、应用、删除和检查 stash。
- 跨平台语法高亮:内置语法高亮,在所有平台(包括 Windows)上无需自定义 pager 即可工作。
- libgit2 驱动:使用 libgit2 的异步架构,在大仓库中性能优势明显。
安装方式
# macOS
brew install gitui
# Arch Linux
sudo pacman -S gitui
# 使用 Cargo 安装
cargo install gitui --locked
# 下载二进制
# 从 GitHub Releases 页面下载对应平台的二进制文件
使用示例
# 启动 gitui
gitui
# 在 gitui 中:
# 按 c 提交更改
# 按 s 暂存文件/hunk/行
# 按 S 取消暂存
# 按 z 管理 stash
# 按 ? 查看上下文帮助
# 按 q 退出
适用场景
gitui 特别适合在大型代码库中需要频繁进行 Git 操作的开发者。如果你使用 lazygit 时感到卡顿,或者你的 monorepo 包含大量文件和历史记录,gitui 的性能优势会让你印象深刻。同时,纯键盘的操作方式也使其成为 Vim/Neovim 用户的自然选择。
总结
这三个工具分别覆盖了终端开发的三大核心场景:Yazi 解决文件管理问题,以异步架构和丰富功能重新定义了终端文件浏览体验;fzf 解决查找筛选问题,以极简的通用设计成为终端效率提升的万能工具;gitui 解决版本控制问题,以 Rust 和 libgit2 的性能优势在大仓库场景下脱颖而出。
三个工具的共同特点是:都用系统级语言编写(Rust/Go),性能出色;都支持纯键盘操作,符合终端用户习惯;都有活跃的社区和持续的更新。如果你还没有用过它们,强烈建议今天就安装试试——终端工作流的体验提升是即时可感的。

评论(0)
暂无评论,来抢沙发~
请 登录 后发表评论