فهرست سریع فصل‌ها
پیشرفتهفصل 14 از 20⏱ حدود 12 دقیقه

🧩نصب و مدیریت پلاگین‌های Yazi با ya pkg

ya pkg، معرفی پلاگین‌های کاربردی و نصب و آپدیت و قفل نسخه.

یازی یه پکیج‌منیجر داخلی داره به اسم ya pkg که هم پلاگین‌ها رو نصب می‌کنه هم فلیورها رو، و نسخه‌شون رو توی package.toml قفل می‌کنه تا روی هر سیستم دیگه‌ای دقیقاً همون‌ها نصب بشه.

دستورهای پکیج‌منیجر

terminal
bash

ya pkg add owner/plugin-name          # نصب از یک مخزن
ya pkg add yazi-rs/plugins:git        # نصب یک زیرپوشه از مخزن مونو
ya pkg list                           # لیست چیزهایی که نصب کردی
ya pkg upgrade                        # به‌روزرسانی همه
ya pkg delete yazi-rs/plugins:git     # حذف
ya pkg install                        # نصب همه از روی package.toml (سیستم جدید)

فایل package.toml رو خود پکیج‌منیجر میسازه. برای ثابت نگه‌داشتن یه پلاگین هنگام upgrade، فقط ابتدای مقدار واقعی rev همون پلاگین علامت = بذار؛ مقدار hash رو دستی نساز. قبل از ارتقا، این فایل و تنظیماتت رو پشتیبان بگیر.

پلاگین‌های کاربردی در مخزن رسمی

پلاگینکارش چیه
yazi-rs/plugins:gitنشون دادن وضعیت گیت (تغییر یافته، جدید، نادیده) کنار هر فایل
yazi-rs/plugins:full-borderکشیدن قاب کامل دور پنل‌ها — خیلی خوشگل‌تر می‌شه
yazi-rs/plugins:smart-enterکلید l یا Enter: پوشه رو باز کن، فایل رو اجرا کن
yazi-rs/plugins:smart-pasteپیست داخل پوشه‌ی زیر مکان‌نما بدون وارد شدن بهش
yazi-rs/plugins:chmodتغییر مجوز فایل‌های انتخاب‌شده با یه ورودی ساده
yazi-rs/plugins:toggle-paneبزرگ/کوچک/مخفی کردن پنل پیش‌نمایش
yazi-rs/plugins:mountمدیریت و mount کردن فلش و هارد اکسترنال از داخل یازی
yazi-rs/plugins:jump-to-charپرش به فایل با زدن حرف اولش (مثل f در ویم)
yazi-rs/plugins:diffگرفتن diff بین دو فایل انتخاب‌شده
yazi-rs/plugins:mime-extتشخیص نوع فایل از پسوند؛ سرعت بیشتر در بعضی شرایط، با دقت کمتر

یه بسته‌ی پیشنهادی کامل

terminal
bash

ya pkg add yazi-rs/plugins:git
ya pkg add yazi-rs/plugins:full-border
ya pkg add yazi-rs/plugins:smart-enter
ya pkg add yazi-rs/plugins:chmod
ya pkg add yazi-rs/plugins:toggle-pane
ya pkg add yazi-rs/plugins:mount
ya pkg add yazi-rs/plugins:jump-to-char
~/.config/yazi/init.lua
lua

-- پلاگین‌هایی که setup لازم دارن
require("full-border"):setup()
require("git"):setup()
~/.config/yazi/yazi.toml
toml

# پلاگین گیت باید به‌عنوان fetcher ثبت بشه
[[plugin.prepend_fetchers]]
group = "git"
url   = "*"
run   = "git"

[[plugin.prepend_fetchers]]
group = "git"
url   = "*/"
run   = "git"
~/.config/yazi/keymap.toml
toml

[[mgr.prepend_keymap]]
on   = "l"
run  = "plugin smart-enter"
desc = "ورود به پوشه یا باز کردن فایل"

[[mgr.prepend_keymap]]
on   = "T"
run  = "plugin toggle-pane max-preview"
desc = "بزرگ کردن پیش‌نمایش"

[[mgr.prepend_keymap]]
on   = [ "c", "m" ]
run  = "plugin chmod"
desc = "تغییر مجوز"

[[mgr.prepend_keymap]]
on   = "M"
run  = "plugin mount"
desc = "مدیریت دستگاه‌های ذخیره‌سازی"

[[mgr.prepend_keymap]]
on   = [ "g", "j" ]
run  = "plugin jump-to-char"
desc = "پرش با حرف اول"
🎩پلاگین mount روی فدورا
این پلاگین از udisksctl استفاده می‌کنه که توی بسته‌ی udisks2 ــه و ممکنه روی نسخه‌ی دسکتاپ فدورا از قبل نصب باشه. اگه نبود: sudo dnf install udisks2. فلش‌های mount‌شده معمولاً توی /run/media/$USER/ ظاهر می‌شن.

نصب دستی پلاگین

هر پلاگین فقط یه پوشه با پسوند .yazi ــه که حداقل یه main.lua داره:

مخزن واقعی پلاگین رو از سازنده بگیر، README و سازگاری نسخه رو بررسی کن و پوشه رو در~/.config/yazi/plugins/ قرار بده. برای مثال یه پوشه با نام cool.yazi با دستورplugin cool اجرا میشه. نصب دستی با ya pkg upgrade به‌روز نمیشه.

⚠️ناسازگاری نسخه
اگه بعد از آپدیت یازی پلاگینی ارور داد، اول ya pkg upgrade بزن. اگه بازم بود، به احتمال زیاد اون پلاگین هنوز با API جدید سازگار نشده — موقتاً از init.lua کامنتش کن.

آموزش کار با Yazi برای توزیع‌های مختلف لینوکس کاربرد داره؛ مثال‌های نصب و تنظیم محیط با اولویت کاربری نوشته شدن که فدورا رو با تنظیمات پیش‌فرض نصب کرده. دستور نصب بسته‌ها و ابزارهای جانبی در توزیع‌های دیگه ممکنه متفاوت باشه.