TopGit
Đánh giá repo GitHub

Yazi: trình quản lý file terminal viết bằng Rust

sxyazi/yazi
YTopGit review image for sxyazi/yazi
Review by Topgit.dev for sxyazi/yazi, with GitHub repository stats and README context.
Nhận định nhanh

Yazi là một trình quản lý file chạy trên terminal, viết bằng Rust, xử lý mọi thao tác I/O một cách bất đồng bộ, nên việc duyệt qua thư mục chứa file lớn hay tải preview ảnh không làm treo giao diện. Dự án tự nhận đang ở giai đoạn public beta và vẫn còn breaking changes. Nếu bạn đã sống trong terminal và muốn xem trước ảnh ngay tại đó, Yazi đáng để chuyển sang; nếu bạn cần một file config ổn định, không đổi qua từng bản release, hãy đợi thêm.

Sao
★ 42.3k
Fork
⑂ 1.0k
Ngôn ngữ
Rust
Giấy phép
MIT
Chủ đề
Automation
Cập nhật
Sep 2026
Trang chủ
GitHub

Yazi là gì?

Yazi (tên nghĩa là "con vịt") là một trình quản lý file chạy trên terminal, xây dựng bằng Rust dựa trên I/O bất đồng bộ, không chặn luồng chính. Yazi hiển thị ảnh trực tiếp trong terminal qua các giao thức như Kitty graphics protocol, inline images của iTerm2, và Sixel, dùng Überzug++ hoặc Chafa làm phương án dự phòng khi terminal chưa hỗ trợ sẵn. Một package manager tích hợp sẵn còn cài đặt và ghim phiên bản cho plugin viết bằng Lua.

Những tính năng cốt lõi làm nên sự khác biệt của Yazi

  • Lõi I/O bất đồng bộ: mọi thao tác file và tác vụ tốn CPU đều chạy ngoài luồng chính, có cập nhật tiến trình theo thời gian thực và có thể hủy, theo mô tả về bộ lập lịch tác vụ bất đồng bộ trong README.
  • Xem trước ảnh tích hợp sẵn cho nhiều giao thức, hoạt động trên các terminal như Kitty, iTerm2, WezTerm, Windows Terminal, với Überzug++ hoặc Chafa làm phương án dự phòng cho X11/Wayland và các terminal chưa hỗ trợ.
  • Hệ thống plugin chạy song song, viết bằng Lua, bao phủ từ ghi đè UI, previewer, preloader, spotter đến fetcher tùy biến.
  • Package manager tích hợp sẵn để cài, cập nhật, hoặc ghim plugin và theme ở một phiên bản cụ thể.
  • Lớp phân phối dữ liệu theo mô hình client-server giúp đồng bộ trạng thái giữa nhiều instance Yazi mà không cần chạy thêm một server riêng.
  • Gọi trực tiếp đến ripgrep, fd, fzf, và zoxide thay vì tự viết lại logic tìm kiếm và nhảy thư mục.
  • Đổi tên hàng loạt, giải nén archive, chế độ chọn nhiều file, và thùng rác được tích hợp sẵn trong điều hướng cốt lõi.
  • Các component input, pick, confirm, và notify theo phong cách Vim, kèm tự động hoàn thành đường dẫn khi gõ lệnh cd.
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao

Bạn có thể làm gì với Yazi

  • Duyệt và xem trước ảnh, PDF, archive, và code ngay trong terminal mà không cần mở một trình xem riêng.
  • Quản lý file qua hệ thống file từ xa hoặc ảo, nhờ hỗ trợ custom VFS provider của Yazi.
  • Nhảy vào một thư mục dự án bằng zoxide rồi lọc kết quả bằng fzf, tất cả trong cùng một phiên làm việc.
  • Dùng Yazi làm file picker ngay trong terminal khi làm việc với Neovim, vốn được liệt kê trong danh sách topics của chính repo.
  • Đổi tên hàng loạt hoặc giải nén một archive mà không cần rời khỏi terminal.

Cài đặt Yazi trên hệ thống của bạn

README không liệt kê sẵn các lệnh cài đặt, mà dẫn đến trang docs chính thức tại https://yazi-rs.github.io/docs/installation. Dựa trên danh sách topics của repo (linux, macos, windows, android) và bảng hỗ trợ xem trước ảnh, Yazi nhắm tới terminal trên Linux, macOS, Windows, và cả môi trường kiểu Android, nhưng lệnh cài đặt cụ thể cho từng nền tảng không nằm trong README. Hãy xem link docs để có bước cài đặt hiện hành.

Bắt đầu sử dụng Yazi

Cách dùng hằng ngày không được README trình bày chi tiết ngoài danh sách tính năng; dự án dẫn ra trang https://yazi-rs.github.io/features và tài liệu cài đặt để hướng dẫn bắt đầu. Điều README xác nhận: điều hướng theo phong cách Vim (các component input, pick, confirm, which, và notify được mô tả rõ là vim-like), hỗ trợ nhiều tab và chọn file qua nhiều thư mục, cùng preview có thể cuộn cho video, PDF, archive, và thư mục. Về phím tắt cụ thể, tài liệu chính thức mới là nguồn đáng tin, không phải bài viết này.

Điểm mạnh

  • Lõi bất đồng bộ giúp trình duyệt file không bị treo khi một preview lớn hay thư mục mạng chậm đang tải ngầm.
  • Xem trước ảnh, video, PDF, và archive ngay trong terminal mà không cần mở một trình xem riêng.
  • Package manager tích hợp sẵn giúp cài, cập nhật, và ghim plugin, theme mà không cần thêm công cụ khác.
  • Tích hợp sâu với ripgrep, fd, fzf, và zoxide nên hòa vào workflow terminal có sẵn thay vì thay thế nó.
  • Giấy phép MIT giữ cho Yazi được dùng, sửa đổi, và phân phối lại tự do, không ràng buộc.

Những giới hạn hiện tại cần biết trước khi dùng

  • Dự án tự mô tả đang ở public beta và vẫn còn breaking changes, nên mỗi lần nâng cấp có thể phải kiểm tra lại config hoặc plugin.
  • Hướng dẫn cài đặt và sử dụng nằm hoàn toàn trên một trang docs bên ngoài thay vì trong README, nên repo không có sẵn một bản tra cứu nhanh.
  • Chất lượng xem trước ảnh phụ thuộc vào terminal bạn dùng: hỗ trợ đầy đủ giao thức chỉ có trên một danh sách terminal cụ thể (Kitty từ 0.28.0, Windows Terminal từ v1.22.10352.0, Rio từ 0.3.9, và một số khác); còn lại phải dùng Überzug++ hoặc ASCII art qua Chafa.
  • Hệ thống plugin dùng Lua, nghĩa là bạn phải học thêm một ngôn ngữ nếu muốn viết previewer hay ghi đè UI riêng ngoài những gì có sẵn.

So sánh Yazi với Ranger, nnn và LF

Ranger — trình quản lý file terminal viết bằng Python, thường được so sánh với Yazi nhất; chậm hơn trên thư mục lớn vì không bất đồng bộ, nhưng lâu đời hơn và có tài liệu phong phú hơn.nnn — trình quản lý file terminal viết bằng C, tập trung vào việc dùng ít tài nguyên và binary nhỏ gọn; ít giao thức xem trước ảnh tích hợp sẵn hơn Yazi.lf — trình quản lý file viết bằng Go, có thể tùy biến qua shell command; nhẹ hơn hệ thống plugin Lua của Yazi nhưng hệ sinh thái plugin nhỏ hơn.xplr — một trình duyệt file TUI khác viết bằng Rust, hướng nhiều hơn tới việc pipe dữ liệu cho script thay vì tập trung vào I/O bất đồng bộ và xem trước ảnh như Yazi.

Câu hỏi thường gặp

Yazi đã đủ ổn định để dùng làm trình quản lý file hằng ngày chưa?

README xếp Yazi vào giai đoạn public beta và nói rằng nó "có thể dùng làm daily driver", dù cũng cảnh báo dự án đang phát triển mạnh và sẽ còn breaking changes. Nhiều người vẫn dùng Yazi mỗi ngày, nhưng nên xem config và khả năng tương thích plugin là thứ có thể thay đổi giữa các bản release.

Yazi có hỗ trợ xem trước ảnh ngay trong terminal không?

Yazi hỗ trợ xem trước ảnh tích hợp sẵn cho các terminal như Kitty, iTerm2, WezTerm, và Windows Terminal, đồng thời dùng Überzug++ hoặc Chafa làm phương án dự phòng cho terminal không hỗ trợ giao thức đồ họa gốc. Mức độ hỗ trợ phụ thuộc vào giao thức terminal bạn dùng, hãy kiểm tra bảng tương thích xem trước ảnh của Yazi cho terminal cụ thể của bạn.

Yazi so với Ranger thì thế nào?

Yazi và Ranger đều cho bạn một trình duyệt thư mục trên terminal kèm preview, nhưng Yazi xử lý mọi I/O bất đồng bộ bằng Rust, còn Ranger viết bằng Python và bị chặn khi thao tác chậm. Ranger có lịch sử lâu hơn và tài liệu cộng đồng phong phú hơn; Yazi đánh đổi độ trưởng thành đó để lấy thiết kế bất đồng bộ và giao thức ảnh tích hợp sẵn.

Có thể mở rộng Yazi bằng plugin và theme không?

Yazi có sẵn một hệ thống plugin chạy song song dựa trên Lua API, bao gồm plugin UI, previewer, preloader, spotter, và fetcher tùy biến, cùng một hệ thống theme riêng. Một package manager tích hợp sẵn cho phép cài, cập nhật, hoặc ghim các plugin và theme này ở một phiên bản cụ thể ngay trong Yazi.

Những terminal nào hỗ trợ tính năng xem trước ảnh của Yazi?

Xem trước ảnh tích hợp sẵn của Yazi hoạt động trên các terminal gồm Kitty (từ 0.28.0), iTerm2, WezTerm, Konsole, foot, Ghostty, Windows Terminal (từ v1.22.10352.0), Rio (từ 0.3.9), Black Box, Bobcat, và Warp trên macOS, Linux. Các terminal ngoài danh sách này sẽ dùng Überzug++ trên X11/Wayland hoặc ASCII art qua Chafa.

Cấu hình Yazi bằng file config tùy chỉnh như thế nào?

README của Yazi không trình bày trực tiếp cú pháp file config, mà dẫn đến trang docs chính thức để xem hướng dẫn cài đặt và cấu hình. Điều README xác nhận là Yazi hỗ trợ custom layout, hệ thống theme, và cấu hình plugin bằng Lua, nhưng định dạng file config cụ thể không được nêu trong README của repo.

Vấn đề mà Yazi giải quyết

Các trình quản lý file terminal cũ như Ranger đọc thư mục và tạo preview theo kiểu đồng bộ, nên khi mở một thư mục chứa nhiều video dung lượng lớn hay một ổ mạng chậm, cả giao diện sẽ treo cho tới khi việc đọc xong. Đó là lời phàn nàn phổ biến nhất. Cách Yazi giải quyết là đẩy mọi thao tác I/O và tác vụ preview tốn CPU sang một tác vụ bất đồng bộ riêng, để việc duyệt file vẫn mượt ngay cả khi một thumbnail hay danh sách archive vẫn đang tải ngầm. Nó cũng giải quyết một vấn đề hẹp hơn: xem trước ảnh mà không cần rời khỏi terminal, bằng cách nối thẳng vào giao thức đồ họa của terminal thay vì gọi ra một trình xem ảnh bên ngoài.

Ai nên dùng — và ai nên bỏ qua

Những developer đã dành phần lớn thời gian trong terminal và muốn xem trước ảnh, video ngay tại đó mà không cần chuyển sang ứng dụng quản lý file đồ họa là nhóm phù hợp nhất với Yazi, đặc biệt nếu terminal của họ đã hỗ trợ Kitty graphics protocol, Sixel, hoặc inline images của iTerm2. Người dùng Vim và Neovim thích công cụ điều khiển bằng bàn phím, có thể script được cũng sẽ thấy quen thuộc với các component input và pick theo phong cách Vim của Yazi. Nên bỏ qua nếu bạn cần một trình quản lý file với định dạng config không đổi qua thời gian, vì chính dự án cảnh báo đang trong giai đoạn phát triển mạnh với breaking changes, hoặc nếu terminal của bạn không hỗ trợ giao thức ảnh nào và bạn không muốn cài thêm Überzug++ hay Chafa làm phương án dự phòng.

Repo liên quan

Nguồn & ghi công

Thông tin và mô tả tính năng lấy từ repository GitHub sxyazi/yazi (github.com/sxyazi/yazi) và README của dự án.

Dữ liệu GitHub · đồng bộ lần cuối 15 thg 8, 2026Đánh giá bởi Henry
Về TopGit

yazi có đáng để bạn bỏ thời gian?

ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về yazi.

GitHub