NNN(1) General Commands Manual NNN(1)

nnn — مدیر فایل نامتعارف ترمینال.

nnn [-aAcCdDeEfgHJKnQrRSuUVxz0h] [-b key] [-F val] [-l val] [-p file] [-P key] [-s name] [-t secs] [-T key] [PATH]

nnn (Nnn's Not Noice) یک انشعاب با عملکرد بهینه‌شده و پر از قابلیت از noice است که با یکپارچگی روان با میزکار، ناوبری ساده‌شده، حالت همراه با ورود خودکار به دایرکتوری، حالت تحلیل‌گر فضای دیسک، نشانک‌ها، زمینه‌ها (contexts)، اجراکننده برنامه‌ها، میانبرهای ناوبری آشنا، اجرای زیرپوسته (subshell) و قابلیت‌های بسیار دیگر ارائه می‌شود. این برنامه همچنان یک مدیر فایل ساده و کارآمد باقی مانده که سد راه کار شما نمی‌شود.

اگر PATH مشخص نشود، nnn دایرکتوری کاری جاری را باز می‌کند. اگر PATH مشخص شده باشد و وجود داشته باشد، nnn آن را باز خواهد کرد. اگر PATH وجود نداشته باشد و با یک / پایان یابد، nnn برای ایجاد درخت دایرکتوری و باز کردن آن تلاش می‌کند. در غیر این صورت، PATH به‌عنوان مسیر یک فایل معمولی در نظر گرفته می‌شود و nnn سعی می‌کند درخت دایرکتوری کامل تا فایل را بسازد، دایرکتوری والد را باز کند و برای ساخت فایل جدید با نام پایه در آن اعلان دهد.

کلید ‘?’ را در nnn فشار دهید تا فهرست کلیدهای میانبر نمایش داده شود.

nnn از گزینه‌های زیر پشتیبانی می‌کند:

-a
راه‌اندازی خودکار NNN_FIFO موقت (به بخش ENVIRONMENT مراجعه کنید)

-A
غیرفعال کردن ورود خودکار به دایرکتوری در صورت تطابق یکتای فیلتر

-b key
مشخص کردن کلید نشانک (bookmark) جهت باز شدن

-B
استفاده از bsdtar برای فایل‌های بایگانی (پیش‌فرض: atool)

-c
مشخص می‌کند که بازکننده صرفاً خط فرمانی (CLI) است (بازنویسی -e)

-C
طرح ۸‌رنگ - رنگ‌آمیزی دایرکتوری‌ها بر اساس context، غیرفعال کردن رنگ فایل‌ها

-d
حالت با جزئیات (detail mode)

-D
نمایش دایرکتوری‌ها با رنگ context در هنگام تنظیم بودن NNN_FCOLORS

-e
باز کردن فایل‌های متنی در VISUAL$ (در غیر این صورت EDITOR$، و جایگزین vi) [ترجیحاً در CLI]

-E
استفاده از EDITOR$ برای ویرایش‌های داخلی غیرمستقل (undetached)

-f
استفاده از فایل تاریخچه (history)

-F val
حالت اعلان fifo
0: اعلان به عنوان پیش‌نمایش‌گر، 1: اعلان به عنوان کاوشگر

-g
استفاده از فیلترهای regex به جای تطابق زیررشته

-H
نمایش فایل‌های پنهان

-i
نمایش اطلاعات فایل جاری در نوار وضعیت (ممکن است کند باشد)

-J
غیرفعال کردن پیشروی خودکار هنگام انتخاب
(مثلاً انتخاب یک مدخل، دیگر مکان‌نما را به مدخل بعدی منتقل نمی‌کند)

-K
بررسی تداخل کلیدهای میانبر و خروج

-l val
تعداد خطوط پیمایش به ازای هر بار چرخش چرخ ماوس

-n
شروع در حالت type-to-nav

-o
باز کردن فایل‌ها فقط با فشردن کلید Enter

-p file
کپی (یا گزینش) موارد انتخابی در فایل، یا stdout اگر '-'=file باشد

-P key
مشخص کردن کلید افزونه (plugin) جهت اجرا

-Q
غیرفعال کردن تأیید هنگام خروج با چندین context فعال

-r
نمایش پیشرفت cp و mv
(فقط در لینوکس، نیازمند advcpmv است؛ کلید ^T پیشرفت را در BSD/macOS نشان می‌دهد)

-R
غیرفعال کردن چرخش در لبه‌ها (مثلاً فشردن کلید down روی آخرین
مدخل دیگر مکان‌نما را به اولین مدخل منتقل نمی‌کند و بالعکس)

-s name
بارگذاری یک نشست (session) با نام مشخص

-S
نشست پایدار (persistent session)

-t secs
مدت زمان عدم فعالیت به ثانیه برای قفل کردن ترمینال

-T key
ترتیب مرتب‌سازی (به بخش SORTING مراجعه کنید)
کلیدها: 'a' فضای ظاهری دیسک / 'd' فضای دیسک / 'e' پسوند / 'r' معکوس / 's' اندازه / 't' زمان / 'v' نسخه
برای مرتب‌سازی معکوس با حروف بزرگ بنویسید (به‌جز 'r')

-u
استفاده از موارد انتخابی در صورت وجود، عدم درخواست انتخاب بین موارد گزینش‌شده و مدخل زیر نشانگر

-U
نمایش نام کاربر و گروه در نوار وضعیت

-V
نمایش نسخه و خروج

-x
نمایش اعلان پس از اتمام cp، mv و rm برای موارد انتخابی (نیازمند افزونه .ntfy است)
کپی مسیر به کلیپ‌بورد سیستم هنگام انتخاب (نیازمند افزونه .cbcp است)
نمایش عنوان xterm (در حالت غیر picker)

-z
استفاده از فیلترهای فازی (تطابق فازی: تمام نویسه‌های موجود در فیلتر به ترتیب ظاهر شوند)

-0
استفاده از جداکننده null (به جای خط جدید) برای جداسازی مسیر فایل‌ها در خروجی حالت picker

-h
نمایش راهنمای برنامه و خروج.Sh "پیکربندی (CONFIGURATION)" هیچ فایل پیکربندی‌ای وجود ندارد. فایل‌های مرتبط در مسیر زیر قرار دارند:

${XDG_CONFIG_HOME:-$HOME/.config}/nnn/

پیکربندی با استفاده از چند متغیر محیطی اختیاری (در صورت نیاز تنظیم کنید) انجام می‌شود. به بخش محیط (ENVIRONMENT) مراجعه کنید.

nnn از xdg-open (در Linux)، open(1) (در macOS)، cygstart (در Cygwin) و open (در Haiku) به عنوان بازکنندهٔ میزکار استفاده می‌کند. همچنین امکان تعیین یک بازکنندهٔ سفارشی نیز وجود دارد. به بخش محیط (ENVIRONMENT) مراجعه کنید.

با استفاده از ۸ زمینه چندین مکان را باز کنید. وضعیت در گوشهٔ بالا سمت چپ نمایش داده می‌شود:

- زمینهٔ جاری با تصویر معکوس (reverse video) نمایش داده می‌شود
- سایر زمینه‌های فعال زیرخط‌دار هستند
- بقیه غیرفعال هستند

یک زمینهٔ جدید، وضعیت زمینهٔ پیشین را رونوشت می‌کند. هر زمینه می‌تواند رنگ ویژهٔ خود را داشته باشد. به بخش محیط (ENVIRONMENT) مراجعه کنید.

نشست‌ها روشی برای ذخیره و بازیابی وضعیت‌های کاری هستند. یک نشست، تنظیمات و زمینه‌ها را ذخیره می‌کند. نشست‌ها را می‌توان در زمان اجرا یا با یک گزینهٔ برنامه بارگذاری کرد.

- هنگامی که یک نشست در زمان اجرا بارگذاری می‌شود، آخرین وضعیت کاری به‌طور خودکار در یک فایل نشست اختصاصی “auto session” ذخیره می‌شود. گزینهٔ نشست restore نشست خودکار (“auto session”) را بازیابی می‌کند.
- گزینهٔ نشست پایدار (persistent session) سراسری است. اگر از آن استفاده شود، در هنگام خروج از برنامه، آخرین نشست فعال با وضعیت نهایی به‌روزرسانی خواهد شد.
- در حالت نشست پایدار، چنانچه هیچ نشستی فعال نباشد، از “auto session” استفاده می‌شود.
- فهرست کردن جریان ورودی و باز کردن یک نشانک با کلید، اولویت بالاتری نسبت به گزینه‌های نشست (-s/-S) دارند.

همهٔ فایل‌های نشست با نام نشست در دایرکتوری زیر قرار دارند:

${XDG_CONFIG_HOME:-$HOME/.config}/nnn/sessions

فایل “@” همان فایل “auto session” است.

فیلترها رشته‌ها (یا الگوهای regex) برای یافتن آنی ورودی‌های منطبق در دایرکتوری جاری هستند (search-as-you-type). تطابق‌ها به‌طور پیش‌فرض به بزرگی و کوچکی حروف حساس نیستند. آخرین فیلتر در هر زمینه در طول زمان اجرا یا در نشست‌های ذخیره‌شده حفظ می‌شود.
هنگامی که یک تطابق یکتا وجود داشته باشد و آن تطابق یک دایرکتوری باشد، nnn به‌طور خودکار وارد دایرکتوری می‌شود. برای غیرفعال کردن این رفتار، از گزینهٔ مربوطه در برنامه استفاده کنید.

کلیدهای ویژه در اعلان فیلتر:

-------- + ---------------------------------------
  کلید   |                عملکرد
-------- + ---------------------------------------
 ^char   | عملکرد معمول کلید میانبر
 Esc     | خروج از اعلان فیلتر و صرف‌نظر از نوسازی دایرکتوری
 /       | ورود به دایرکتوری دقیقاً منطبق با فیلتر
-------- + ---------------------------------------

کلیدهای ویژه در اعلان فیلتر خالی:

------ + -------------------------------------
  کلید |                عملکرد
------ + -------------------------------------
   ?   | نمایش صفحهٔ راهنما و پیکربندی
   /   | جابه‌جایی میان string، fuzzy و regex
   :   | تغییر وضعیت حساسیت به بزرگی و کوچکی حروف
  ^L   | پاک‌سازی فیلتر (در صورت غیرخالی بودن اعلان)
       | یا اعمال آخرین فیلتر
  Bksp | ماندن در اعلان فیلتر و نوسازی دایرکتوری
  Del  | ماندن در اعلان فیلتر و نوسازی دایرکتوری
------ + -------------------------------------

کاربردهای رایج regex:

(1) برای فهرست کردن تمام تطابق‌هایی که با عبارت فیلتر آغاز می‌شوند،
عبارت را با نماد '^' (caret) شروع کنید.
(2) برای فهرست کردن تمام فایل‌های MKV عبارت '\.mkv' را تایپ کنید.
(3) از '.*' برای تطابق با هر نویسه‌ای استفاده کنید (نوعی جستجوی fuzzy).
(4) مستثنی کردن نام فایل‌های حاوی 'nnn' (در صورت کامپایل با کتابخانهٔ PCRE2): '^(?!nnn)'

در حالت type-to-nav دایرکتوری‌ها در حالت فیلتر باز می‌شوند و امکان ناوبری پیوسته را فراهم می‌کنند.

کلیدهای ویژهٔ اضافی در اعلان فیلتر خالی در حالت type-to-nav:

------ + ------------------------
  کلید |         عملکرد
------ + ------------------------
   '   | رفتن به نخستین فایل غیردایرکتوری
   +   | تغییر وضعیت انتخاب فایل
   ,   | نشانه‌گذاری CWD
   -   | رفتن به آخرین دایرکتوری بازدیدشده
   .   | نمایش فایل‌های پنهان
   ;   | اجرای یک افزونه با کلید آن
   =   | اجرای یک برنامهٔ GUI
   >   | برون‌بری فهرست فایل‌ها
   @   | رفتن به دایرکتوری آغازین
   ]   | نمایش اعلان خط فرمان
   `   | رفتن به /
   ~   | رفتن به HOME
------ + ------------------------
nnn همیشه ابتدا دایرکتوری‌ها و سپس فایل‌ها را نمایش می‌دهد. ترتیب رشته‌ها همواره بدون حساسیت به حروف کوچک و بزرگ است. کلید مرتب‌سازی را می‌توان با گزینهٔ برنامه -T یا به‌صورت تعاملی با استفاده از t یا ^T تنظیم کرد. گزینه‌های زیر در دسترس هستند:
فضای ظاهری دیسک؛ اندازهٔ ظاهری فایل که در sparse fileها (فایل‌های کم‌پشت) می‌تواند بزرگ‌تر از فضای واقعی اشغال‌شده روی دیسک باشد.
فضای اشغال‌شدهٔ دیسک؛ مقدار دادهٔ اشغال‌شده روی دیسک که مضربی از اندازهٔ بلوک است.
پسوند فایل.
معکوس کردن ترتیب فعلی (با -T در دسترس نیست).
اندازهٔ فایل؛ مقدار دادهٔ ذخیره‌شده در فایل.
زمان؛ این مورد به نوع زمانِ انتخاب‌شدهٔ فعلی بستگی دارد که می‌توان آن را با کلید T تغییر داد. گزینه‌ها عبارتند از:
دسترسی (access)؛ آخرین باری که فایل مورد دسترسی قرار گرفته است.
تغییر (change)؛ آخرین باری که فراداده‌های فایل تغییر کرده است (مانند مجوزها).
اصلاح (modified)؛ آخرین باری که محتوای فایل تغییر کرده است (پیش‌فرض).
نسخه (version)؛ بر اساس نام فایل مرتب‌سازی می‌کند، در حالی که با نویسه‌های رقمی به‌صورت عددی برخورد می‌شود. برای مثال: j1.png، j02.png، j3.png.
پاک‌سازی؛ بازگشت به ترتیب نام فایل (با -T در دسترس نیست).
چرخش میان ترتیب بر پایه نام فایل/اندازه/زمان (با -T در دسترس نیست).
حالت حروف بزرگ گزینه‌ها (به‌جز r) ترتیب پیش‌فرض را معکوس می‌کند. به‌طور پیش‌فرض، کلیدهای مرتب‌سازی زمان و اندازه به‌صورت نزولی، و فیلدهای الفبایی به‌صورت صعودی مرتب می‌شوند. برای مثال، هنگام استفاده از گزینهٔ e، مدخل‌ها بر اساس پسوند، به ترتیب صعودی مرتب خواهند شد. استفاده از E منجر به ترتیب نزولی پسوندها می‌شود. این بدین معناست که e به همراه r معادل E خواهد بود.

nnn امکان انتخاب فایل در میان دایرکتوری‌ها و بافت‌های مختلف را فراهم می‌کند!

۳ گروه از کلیدهای میانبر برای افزودن فایل‌ها به موارد انتخابی وجود دارد:

(1) تغییر وضعیت انتخاب فایل زیر نشانگر
- در صورتی که '+' قبل از مدخل نمایش داده شود، آن را لغو انتخاب می‌کند، در غیر این صورت به انتخاب می‌افزاید
(2) افزودن محدوده‌ای از فایل‌ها به موارد انتخابی
- کلید محدوده را دو بار روی همان مدخل تکرار کنید تا انتخاب کاملاً پاک شود
(3) افزودن تمام فایل‌های موجود در دایرکتوری فعلی به انتخاب

یک انتخاب را می‌توان ویرایش، رونوشت (کپی)، جابه‌جا، حذف، بایگانی یا پیوند کرد.

مسیرهای مطلق فایل‌های انتخابی در فایل .selection در دایرکتوری پیکربندی رونوشت می‌شوند. فایل انتخاب میان چندین نمونهٔ برنامه به‌اشتراک گذاشته می‌شود. موارد انتخابی از چندین نمونه با یکدیگر ادغام نمی‌شوند. آخرین نمونه‌ای که در فایل می‌نویسد، محتویات قبلی را بازنویسی خواهد کرد. اگر ۲ نمونه از nnn به‌صورت باز در ۲ قاب از یک ترمینال مالتی‌پلکسر داشته باشید، می‌توانید در یک قاب فایل‌ها را انتخاب کنید و از موارد انتخابی در قاب دیگر استفاده نمایید. موارد انتخابی هنگام دستور mv/rm در آن نمونه از nnn که انتخاب در آن صورت گرفته بود، پاک می‌شوند (اما هنگام cp پاک نمی‌شوند).

nnn پس از یک عملیات موفقیت‌آمیز با موارد انتخابی، انتخاب را پاک می‌کند. پلاگین‌ها مجازند این رفتار را به‌طور جداگانه تعیین کنند.

برای ویرایش موارد انتخابی از کلید _edit selection_ استفاده کنید. ویرایش کردن حالت انتخاب را پایان نمی‌دهد. می‌توانید فایل‌های بیشتری را به انتخاب بیفزایید و دوباره فهرست را ویرایش نمایید. اگر هیچ فایلی در نشست فعلی انتخاب نشده باشد، این گزینه تلاش می‌کند فایل انتخاب را فهرست کند.

nnn می‌تواند مجموع اندازهٔ فایل‌های انتخابیِ فیلترنشدهٔ فهرست‌شده در یک دایرکتوری را نمایش دهد. برای دایرکتوری‌ها، به‌طور پیش‌فرض تنها اندازهٔ خود دایرکتوری افزوده می‌شود. برای افزودن اندازهٔ محتویات یک دایرکتوری، بر اساس مصرف دیسک (معروف به حالت du) مرتب‌سازی کنید..Sh "جستجو و فهرست‌کردن (FIND AND LIST)" دو روش برای جستجو و فهرست‌کردن وجود دارد:

- ارائهٔ یک فهرست از مسیرهای فایل به‌عنوان ورودی
- جستجو با استفاده از یک افزونه (مانند finder) و فهرست کردن نتایج

مسیرهای فایل باید با NUL جدا شده باشند ('\0'). مسیرها می‌توانند نسبت به دایرکتوری جاری یا مطلق باشند. مسیرهای نامعتبر در ورودی نادیده گرفته می‌شوند. محدودیت پردازش ورودی ۱۶٬۳۸۴ مسیر یا 64 MiB داده (max_paths x max_path_len) است.

برای فهرست‌کردن جریان ورودی، nnn را با نوشتن در ورودی استاندارد آن اجرا کنید. برای مثال، جهت فهرست‌کردن فایل‌های بزرگ‌تر از 1M در دایرکتوری جاری:

find -maxdepth 1 -size +1M -print0 | nnn

یا بازهدایت یک فهرست از یک فایل:

nnn < files.txt

تابع کاربردی پوستهٔ bash/zsh برای فهرست‌کردن فایل‌ها بر پایه نوع mime در دایرکتوری جاری:

# to show video files, run: list video

list ()
{
    find . -maxdepth 1 | file -if- | grep "$1" | awk -F: '{printf "%s%c", $1, 0}' | nnn
}

یک دایرکتوری موقت حاوی پیوندهای نمادین (symlinks) به مسیرهای ارائه‌شده ایجاد خواهد شد. هر عملی که بر روی این پیوندهای نمادین انجام شود، تنها روی مقصد آن‌ها اعمال می‌گردد که پس از آن ممکن است پیوندها نامعتبر شوند.

فشردن > یا l روی یک پیوند نمادین در دایرکتوری فهرست، به فایل مقصد می‌رود. برای بازگشت به دایرکتوری فهرست، - را فشار دهید. برای باز کردن پیوند نمادین، Enter را فشار دهید.

فهرست‌کردن جریان ورودی را می‌توان به‌صورت اسکریپت درآورد. این سازوکار می‌تواند گسترش یابد تا با گزینهٔ -p ورودی‌های برگزیده از نتایج فهرست‌شده انتخاب شوند.

دو روش (که می‌توانند با هم استفاده شوند) برای مدیریت نشانک‌ها وجود دارد.

(1) کلیدهای نشانک: برای چگونگی تنظیم کلیدهای نشانک، به بخش NNN_BMS در محیط (ENVIRONMENT) مراجعه کنید.


کلید انتخاب نشانک b تمام کلیدهای نشانک تنظیم‌شده در NNN_BMS را در اعلان نشانک‌ها فهرست می‌کند.

(2) نشانک‌های پیوند نمادین: یک نشانک پیوند نمادین به دایرکتوری جاری را می‌توان با کلید B (یا به‌صورت دستی در مسیر ~/.config/nnn/bookmarks) ایجاد کرد.


فشردن Enter در اعلان نشانک‌ها به این دایرکتوری می‌رود.
اگر NNN_BMS تنظیم نشده باشد، کلید انتخاب نشانک مستقیماً آن را باز می‌کند.

هنگام ورود به یک نشانک، دایرکتوری‌ای که کلید انتخاب نشانک در آن فشرده شده بود به‌عنوان دایرکتوری قبلی تنظیم می‌شود. برای بازگشت به آن، - را فشار دهید.

کوچک‌ترین واحد اندازهٔ فایل، بایت (B) است. باقی واحدها K، M، G، T، P، E، Z و Y (توان‌های ۱۰۲۴) هستند، همانند واحدهای پیش‌فرض در ls.

متغیرهای محیطی SHELL، VISUAL (در غیر این صورت EDITOR) و PAGER استفاده می‌شوند. برای SHELL و PAGER یک ترکیب واحد از آرگومان‌ها پشتیبانی می‌شود.

NNN_OPTS: گزینه‌های باینری برای nnn

export NNN_OPTS="cEnrx"

NNN_OPENER: تعیین یک بازکنندهٔ سفارشی فایل.

export NNN_OPENER=nuke

نکته: nuke یک بازکنندهٔ فایل موجود در مخزن افزونه‌ها است.

NNN_BMS: رشتهٔ نشانک‌ها به‌صورت جفت‌های key_char:location جداشده با ;:

export NNN_BMS="d:$HOME/Docs;u:/home/user/Cam Uploads;D:$HOME/Downloads/"

این نشانک‌ها در صفحهٔ راهنما و پیکربندی (کلید ?) فهرست می‌شوند.

NNN_PLUG: افزونه‌های مستقیماً قابل‌اجرا به‌صورت جفت‌های key_char:plugin جداشده با ;:

export NNN_PLUG='f:finder;o:fzopen;p:mocplay;d:diffs;t:nmount;v:imgview'

نکات:
1. برای اجرای مستقیم یک افزونه، ; و به دنبال آن کلید مربوطه را فشار دهید.
2. روش دیگر، ترکیب آن با Alt است (یعنی Alt+key).
3. برای صرف‌نظر از نوسازی دایرکتوری پس از اجرای یک افزونه، پیشوند - را قرار دهید.

export NNN_PLUG='p:-plugin'


برای انتساب کلیدها به دستورهای دلخواه غیرپس‌زمینه‌ای خط فرمان و فراخوانی آن‌ها مانند افزونه‌ها، یک ! پیش از دستور اضافه کنید.

export NNN_PLUG='x:!chmod +x "$nnn";g:!git log;s:!smplayer "$nnn"'

برای انتخاب و اجرای یک افزونهٔ انتساب‌نیافته، در اعلان افزونه Enter را فشار دهید.
برای اجرای یک افزونه در هنگام راه‌اندازی، از گزینهٔ `-P` به همراه کلید افزونه استفاده کنید.

نکات:
1. متغیر $nnn (یا متغیرهای صادرشده) را در گیومه دوتایی قرار دهید ("$nnn")
2. برای $NNN_PLUG از گیومه تکی استفاده کنید تا "$nnn" تفسیر نشود
3. (مجدداً) پیش از دستور، ! را اضافه کنید
4. برای غیرفعال کردن نوسازی دایرکتوری پس از اجرای یک دستور به‌عنوان افزونه،
   پیشوند -! را قرار دهید
5. برای صرف‌نظر از تأیید کاربر پس از اجرای دستور، پسوند * را اضافه کنید
   نکته: از * برای برنامه‌هایی که اجرا شده و خارج می‌شوند (مانند cat) استفاده نکنید

    export NNN_PLUG='y:-!sync*'

6. برای اجرای یک برنامهٔ گرافیکی به‌عنوان افزونه، یک & بعد از ! اضافه کنید.

    export NNN_PLUG='m:-!&mousepad "$nnn"'

7. برای نمایش خروجی دستورهای اجرا-و-خروج که نیازی به ورودی کاربر ندارند،
   یک | (پایپ) بعد از ! اضافه کنید
   نکته: این گزینه با & ناسازگار است (خروجی ترمینال برای برنامه‌های گرافیکی
   پوشانده می‌شود) و * را نادیده می‌گیرد (خروجی از قبل برای کاربر صفحه‌بندی شده است).

    export NNN_PLUG='m:-!|mediainfo "$nnn";t:-!|tree -ps;l:-!|ls -lah --group-directories-first'

8. برای نمایش خروجی دستورهای اجرا-و-خروج در یک پنجرهٔ شناور،
   یک > (پیکان راست) بعد از ! اضافه کنید
   نکته: این گزینه با & ناسازگار است (خروجی ترمینال برای برنامه‌های گرافیکی
   پوشانده می‌شود) و * را نادیده می‌گیرد (خروجی در یک پنجرهٔ شناور نمایش داده
   می‌شود).
   گزینهٔ `-` همراه با این گزینه نادیده گرفته می‌شود. دایرکتوری همواره نوسازی می‌شود.

    export NNN_PLUG='m:!>mediainfo "$nnn";t:!>tree -ps;l:!>ls -lah --group-directories-first'

مثال‌ها:
------------------------------------ + -------------------------------------------------
            Key:Command              |                   توضیحات
------------------------------------ + -------------------------------------------------
c:!convert "$nnn" png:- | xclip      | کپی تصویر به کلیپ‌بورد
   -sel clipboard -t image/png*      |
C:!cp -rv "$nnn" "$nnn".cp*          | ایجاد یک رونوشت از فایل زیر نشانگر
e:-!sudo -E vim "$nnn"*              | ویرایش فایل با دسترسی root در vim
g:-!git diff                         | نمایش git diff
h:-!hx "$nnn"*                       | باز کردن فایل زیر نشانگر در ویرایشگر هگز hx
k:-!fuser -kiv "$nnn"*               | بستن تعاملی فرایند(های) در حال استفاده از فایل
l:-!git log                          | نمایش git log
n:-!vi /home/user/Dropbox/dir/note*  | یادداشت‌برداری سریع در فایل/دایرکتوری همگام‌شده
p:-!less -iR "$nnn"*                 | مشاهده صفحه‌به‌صفحه فایل زیر نشانگر در less
s:-!&smplayer -minigui "$nnn"        | پخش فایل چندرسانه‌ای زیر نشانگر، حتی بارگیری ناتمام
x:!chmod +x "$nnn"                   | اجرایی کردن فایل زیر نشانگر
y:-!sync*                            | تخلیه داده‌های موقت نوشته‌شده به حافظه (flush)
------------------------------------ + -------------------------------------------------

مستندات آنلاین: https://github.com/jarun/nnn/tree/master/plugins

NNN_ORDER: کلید مرتب‌سازی مختص دایرکتوری.

export NNN_ORDER='t:/home/user/Downloads;S:/tmp'

نکته: کلیدهای مرتب‌سازی می‌توانند a/d/e/r/s/t/v باشند (به بخش SORTING مراجعه کنید).
      مسیر باید مطلق باشد.

      مُهرهای زمانی برای ورودی‌های تغییریافته/ایجادشده ظرف ۵ دقیقه اخیر به صورت معکوس نمایش داده می‌شوند.

NNN_COLORS: رشته‌ای از شماره‌های رنگ برای هر زمینه (context)، برای مثال:

    # ۸ شماره رنگ:
    # 0-سیاه، 1-قرمز، 2-سبز، 3-زرد، 4-آبی (پیش‌فرض)، 5-سرخابی، 6-فیروزه‌ای، 7-سفید
    export NNN_COLORS='12341234'

    # شماره رنگ‌های ۲۵۶تایی xterm (تبدیل‌شده به hex، ۲ نویسه برای هر زمینه):
    # ببینید: https://user-images.githubusercontent.com/1482942/93023823-46a6ba80-f5e1-11ea-9ea3-6a3c757704f4.png
    export NNN_COLORS='#0a1b2c3d0a1b2c3d'

    # هر دو (۲۵۶ و به دنبال آن ۸ به عنوان جایگزین، جدا شده با ';')
    export NNN_COLORS='#0a1b2c3d0a1b2c3d;12341234'

    نکته: اگر فقط ۲۵۶ رنگ مشخص شود و ترمینال از آن پشتیبانی نکند، حالت پیش‌فرض استفاده می‌شود.
NNN_FCOLORS: مشخص کردن رنگ‌های اختصاصی برای انواع فایل:
export NNN_FCOLORS='c1e2272e006033f7c6d6abc4' مشخص کردن رنگ‌های ویژه هر فایل با شماره‌های شانزده‌شانزدهی (Hex) ۲۵۶ رنگ xterm (۲ نویسه برای هر رنگ). ترتیب آن الزامی و قطعی است؛ برای صرف‌نظر کردن/استفاده از رنگ پیش‌فرض ترمینال از 00 استفاده کنید. پیش‌فرض‌ها: ------------------------- + --- + ------------- Order | Hex | Color ------------------------- + --- + ------------- Block device | c1 | DarkSeaGreen1 Char device | e2 | Yellow1 Directory | 27 | DeepSkyBlue1 Executable | 2e | Green1 Regular | 00 | Normal Hard link | 60 | Plum4 Symbolic link | 33 | Cyan1 Missing OR file details | f7 | Grey62 Orphaned symbolic link | c6 | DeepPink1 FIFO | d6 | Orange1 Socket | ab | MediumOrchid1 Unknown OR 0B regular/exe | c4 | Red1 ------------------------- + --- + ------------- اگر ترمینال از ۲۵۶ رنگ xterm یا بیشتر پشتیبانی کند، رنگ‌های ویژه هر فایل نمایش داده می‌شوند. برای اجبار به استفاده از طرح ۸ رنگ، از گزینه -C استفاده کنید. اگر از ۲۵۶ رنگ xterm پشتیبانی نشود، طرح ۸ رنگ استفاده خواهد شد.
NNN_ARCHIVE: پسوندهای بایگانی برای پردازش بی‌صدا (پیش‌فرض: bzip2، (g)zip، tar).
export NNN_ARCHIVE="\\.(7z|bz2|gz|tar|tgz|zip)$" نکته: قالب‌های غیرپیش‌فرض ممکن است به یک ابزار شخص ثالث نیاز داشته باشند.
NNN_ARCHMNT: ابزار اختیاری سوار کردن بایگانی (پیش‌فرض: archivemount).
export NNN_ARCHIVE='fuse-archive'
NNN_SSHFS: مشخص کردن دستور سفارشی sshfs به همراه گزینه‌ها:
export NNN_SSHFS='sshfs -o reconnect,idmap=user,cache_timeout=3600' نکته: گزینه‌ها باید با کاما و بدون هیچ فاصله‌ای بین آن‌ها از یکدیگر جدا شوند.
NNN_RCLONE: ارسال گزینه‌های اضافی به دستور rclone:
export NNN_RCLONE='rclone mount --read-only --no-checksum' نکته: گزینه‌ها باید با "rclone" آغاز شوند و حداکثر ۵ پرچم پشتیبانی می‌شود.
NNN_TRASH: انتقال فایل‌ها به سطل زباله میزکار (به جای rm -rf).
export NNN_TRASH=cmd نکات: 1. cmd نام/مسیر فایل اجرایی است که nnn برای انتقال فایل‌ها به سطل زباله فراخوانی خواهد کرد. به عنوان مثال برای استفاده از دستور بومی `trash' در macOS: export NNN_TRASH="trash" 2. مقادیر ویژه "1" و "2" برای cmd به ترتیب از trash-cli و gio trash استفاده خواهند کرد.
NNN_SEL: مسیر مطلق به فایل انتخاب‌های سفارشی.
export NNN_SEL='/tmp/.sel'
NNN_FIFO: مسیر یک لوله نام‌گذاری‌شده (named pipe) برای نوشتن مسیر فایل نشانه‌رفته:
export NNN_FIFO='/tmp/nnn.fifo' نکات: 1. با گزینه -a توسط یک مسیر موقت بازنویسی می‌شود. 2. اگر فایل FIFO وجود نداشته باشد ایجاد خواهد شد، اما حذف نمی‌شود (مگر اینکه توسط گزینه -a ایجاد شده باشد). مستندات برخط: https://github.com/jarun/nnn/wiki/Live-previews
NNN_LOCKER: برنامه قفل‌کننده ترمینال.
export NNN_LOCKER='bmon -p wlp1s0' export NNN_LOCKER='cmatrix'
NNN_TMPFILE: همیشه هنگام خروج cd کند و دستور را در فایل مشخص‌شده بنویسد.
export NNN_TMPFILE='/tmp/.lastd'
NNN_HELP: اجرای یک برنامه و نمایش خروجی آن در بالای صفحه راهنمای برنامه.
export NNN_HELP='fortune'
NNN_MCLICK: کلید شبیه‌سازی‌شده با کلیک وسط ماوس.
export NNN_MCLICK='^R' نکته: در صورتی که یک ترکیب Ctrl+key نباشد، فقط نویسه نخست در نظر گرفته می‌شود.
nnn: این یک متغیر ویژه است.
پیش از آغاز اعلان دستور یا ایجاد یک پوسته، روی نام فایل نشانه‌رفته تنظیم می‌شود.
NO_COLOR: غیرفعال کردن خروجی رنگی ANSI (توسط NNN_COLORS لغو می‌شود)..Sh "نویسندگان (AUTHORS)" Arun Prakash Jana <engineerarun@gmail.com>, Lazaros Koromilas <lostd@2f30.org>, Dimitris Papastamos <sin@2f30.org>.

August 15, 2026 Linux 6.12.113+deb13-amd64