Yazi: Trình Quản Lý File Terminal Tốc Độ Cao Trên Rust

Yazi: Trình Quản Lý File Terminal Tốc Độ Cao Trên Rust

Yazi là trình quản lý file (file manager) chạy trong terminal, được viết bằng Rust với async I/O, hứa hẹn tốc độ xử lý nhanh hơn đáng kể so với các trình quản lý file truyền thống như ranger, nnn, hoặc lf.

Yazi Khác Gì So Với Các File Manager Khác?

Hầu hết file manager terminal hiện nay như ranger, nnn, hoặc lf đều có điểm chung: đọc toàn bộ thông tin thư mục (file listing, metadata, preview) theo kiểu synchronous — mỗi thao tác phải đợi kết quả trước khi thực hiện tiếp. Yazi giải quyết vấn đề bằng cách sử dụng kiến trúc hoàn toàn mới:

  • Preview bất đồng bộ: Hình ảnh, video, PDF được preview trong background mà không block giao diện chính. Bạn có thể cuộn file list trong khi hình ảnh đang render bên phải — không bị giật lag hay đóng băng terminal.
  • Nền tảng Rust + async I/O: Sử dụng tokio runtime và async I/O để xử lý đồng thời nhiều yêu cầu đọc file, phân loại, và render preview.
  • Bộ nhớ đệm thông minh: Cache metadata file (kích thước, thời gian sửa, quyền) và kết quả preview. Nếu bạn quay lại thư mục đã mở trước đó, tất cả dữ liệu được load ngay lập tức từ cache.
  • Hệ thống DDS (Dynamic Daemon Service): Một daemon chạy nền xử lý việc nặng (decode ảnh/video, tìm file), đảm bảo giao diện terminal luôn mượt mà.

Giao diện terminal Linux với dòng lệnh Bash đang chạy, minh họa môi trường terminal quen thuộc

Cài Đặt

Cài đặt Yazi nhanh chóng qua các package manager phổ biến trên mọi nền tảng:

# Homebrew (macOS)
brew install yazi

# Arch Linux
paru -S yazi

# Debian/Ubuntu (APT chính thức)
sudo apt install yazi

# NixOS
nix-env -iA nixpkgs.yazi

# Cargo (từ source, mọi OS)
cargo install yazi-fm

Lưu ý: Yazi yêu cầu chương trình file đã cài sẵn (dùng để detect file type). Để có trải nghiệm đầy đủ, bạn nên cài thêm nerd-fonts, ffmpeg (preview video), poppler (preview PDF), fd (tìm file), và fzf (nav nhanh). Với nhiều công cụ hỗ trợ tùy chọn như vậy, Yazi cho phép bạn xây dựng một hệ sinh thái terminal toàn diện, phù hợp với phong cách làm việc riêng.

Các Tính Năng Nổi Bật

Màn hình lập trình với code đang hiển thị trên editor, minh họa môi trường làm việc của developer

Tính năng Mô tả chi tiết
Preview đa phương thức Xem ảnh (PNG, JPG, WebP, GIF), video (tạo thumbnail qua ffmpeg), PDF (trang đầu), archive (danh sách file trong zip/tar), font (FontForge preview)
Search tích hợp Ctrl+S mở fuzzy search qua fzf, Ctrl+G mở live grep qua ripgrep — tìm file theo tên hoặc nội dung nhanh chóng
Multi-select Space chọn/bỏ, Tab chọn tất cả, back-select đã chọn — copy, move, rename, delete nhiều file cùng lúc
Yazi-actor Hệ thống event-driven async cho plugin phát triển mạnh. Plugin viết bằng Lua hoặc Rust, có thể gọi bất kỳ tool CLI nào
DDS qua SSH Preview từ xa — mở file trên server qua SSH mà không cần download file về máy local
Keybinding tùy chỉnh Fully customizable keybinding, hỗ trợ normalize (dấu tiếng Việt) trên macOS
Theme + Flavors Hệ thống theme CSS-like + flavors (preset themes) để tạo giao diện cá nhân hóa

Cấu Hình Và Tùy Chỉnh

Yazi cho phép cấu hình toàn diện qua các file TOML:

  • yazi.toml — Cấu hình chính: opener, preview, manager, cho phép thêm handler preview tùy chỉnh.
  • keymap.toml — Bố trí phím tắt: default keybinding theo hjkl (vim-style) hoặc có thể thay đổi hoàn toàn.
  • theme.toml — Theme màu sắc: màu file, parenthesis, progress bar, tab bar.

Cộng đồng đã xây dựng nhiều plugin và theme nổi bật, từ hiển thị git status (branch, modified files, commits ahead/behind) đến tích hợp AI để tóm tắt nội dung file. Bạn có thể khám phá các plugin này tại Third-party Plugins trong tài liệu chính thức. Thêm vào đó, Yazi hỗ trợ drag-and-drop kéo thả file giữa terminal và GUI, một tính năng hiếm có ở các file manager terminal khác, giúp thao tác chuyển file qua lại trở nên trực quan hơn hẳn.

Với hơn 42.000 sao trên GitHub, 34 bản release tag, và phiên bản mới liên tục, Yazi đang nhanh chóng trở thành file manager terminal ưa chuộng nhất cho developer. Tốc độ thực tế ấn tượng: mở thư mục 10.000 file mất dưới 1 giây, preview ảnh JPEG/PNG không bị giật lag, và dung lượng bộ nhớ RAM sử dụng thường dưới 30MB — thậm chí thấp hơn ranger 10 lần.

Đối với developer Việt Nam, Yazi là công cụ lý tưởng để tối ưu hóa workflow terminal. Bạn có thể kết hợp Yazi với tmux/zoxide/fzf để tạo môi trường phát triển cực nhanh, không cần rời terminal để thao tác file. Nhiều team dev tại Việt Nam đã chuyển từ ranger/nnn sang Yazi và báo cáo tăng năng suất đáng kể, đặc biệt khi làm việc với các dự án lớn có hàng ngàn file source code.

Nguồn tham khảo: Yazi GitHub, Yazi Documentation

Tôi là một lập trình viên IOS. Code chính là IOS nhưng thỉnnh thoảng vẫn đá sang Android hoặc web. Mặc dù không quá thông thạo nhưng tôi sẽ chia sẻ những kiến thức mà mình đã tìm hiểu, áp dụng qua.

Bài viết liên quan

Tối ưu hiệu suất Nginx: 10 cấu hình tăng tốc website đáng kể

Minh họa nội dung Nginx là một trong những web server phổ biến nhất thế giới, phục vụ hơn 30% trang web trên Internet. Được tạo bởi Igor Sysoev năm…

Xem thêm

macOS Sequoia: Mẹo tối ưu hóa và tính năng ẩn

macOS Sequoia (15.x) mang đến nhiều tính năng mới đáng chú ý, từ iPhone mirroring đến cải tiến Safari. Tuy nhiên, nhiều người dùng chưa khai thác hết tiềm năng…

Xem thêm

Cài Đặt Home Assistant: Quản Lý Nhà Thông Minh Mã Nguồn Mở

Home Assistant là nền tảng tự động hóa nhà mã nguồn mở, chạy cục bộ trên Raspberry Pi hoặc máy chủ Linux. Bài hướng dẫn này giúp bạn cài đặt…

Xem thêm
0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest
0 Comments
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất