ZOXIDE(1) zoxide ZOXIDE(1)

zoxide - یک دستور cd هوشمندتر

zoxide SUBCOMMAND [OPTIONS]

دستور zoxide یک دستور cd هوشمندتر برای ترمینال شما است. این ابزار دایرکتوری‌هایی را که بیش از همه استفاده می‌کنید ردگیری کرده و از یک الگوریتم رتبه‌بندی برای هدایت شما به بهترین تطابق بهره می‌برد.

z foo              # cd به دایرکتوری با بالاترین رتبه منطبق با foo
z foo bar          # cd به دایرکتوری با بالاترین رتبه منطبق با foo و bar
z foo /            # cd به یک زیردایرکتوری که با foo شروع می‌شود

z ~/foo            # z همچنین مانند دستور معمول cd کار می‌کند
z foo/             # cd به مسیر نسبی
z ..               # رفتن یک سطح به بالا
z -                # رفتن به دایرکتوری قبلی

zi foo             # cd با انتخاب تعاملی (با استفاده از fzf)

z foo<SPACE><TAB>  # نمایش تکمیل خودکار تعاملی (فقط bash 4.4+/fish/zsh)

zoxide-add(1)
افزودن یک دایرکتوری جدید به پایگاه‌داده، یا افزایش رتبه آن.
zoxide-import(1)
وارد کردن مدخل‌ها از برنامه‌ای دیگر.
zoxide-init(1)
تولید پیکربندی پوسته.
zoxide-query(1)
جستجوی یک دایرکتوری در پایگاه‌داده.
zoxide-remove(1)
حذف یک دایرکتوری از پایگاه‌داده.

نمایش اطلاعات راهنما.
نمایش اطلاعات نسخه.

می‌توان از متغیرهای محیطی برای پیکربندی استفاده کرد. آن‌ها باید پیش از فراخوانی zoxide-init(1) تنظیم شوند.

_ZO_DATA_DIR
دایرکتوری محل ذخیره پایگاه‌داده را مشخص می‌کند. مقدار پیش‌فرض در سیستم‌عامل‌های مختلف متفاوت است:
سیستم‌عامل مسیر
Linux/BSD $XDG_DATA_HOME یا $HOME/.local/share، برای نمونه /home/alice/.local/share
macOS $HOME/Library/Application Support، برای نمونه /Users/Alice/Library/Application Support
Windows %LOCALAPPDATA%، برای نمونه C:\Users\Alice\AppData\Local
_ZO_ECHO
هنگامی که روی 1 تنظیم شود، z پیش از پیمایش به دایرکتوری منطبق، مسیر آن را چاپ می‌کند.
_ZO_EXCLUDE_DIRS
از اضافه شدن دایرکتوری‌های مشخص‌شده به پایگاه‌داده جلوگیری می‌کند. این مقدار به صورت فهرستی از الگوهای glob ارائه می‌شود که با نویسه‌های ویژه هر سیستم‌عامل از هم جدا شده‌اند:
سیستم‌عامل جداکننده
Linux/macOS/BSD :، برای نمونه $HOME:$HOME/private/*
Windows ;، برای نمونه $HOME;$HOME/private/*

به‌طور پیش‌فرض، این مقدار روی $HOME تنظیم شده است. پس از این تنظیم، ممکن است نیاز باشد با استفاده از zoxide-remove(1) مدخل‌های موجود را از پایگاه‌داده حذف کنید.

_ZO_FZF_OPTS
گزینه‌های سفارشی برای ارسال به fzf(1) در حین انتخاب تعاملی. برای مشاهده فهرست کامل گزینه‌ها، صفحه راهنمای آن را ببینید.
_ZO_MAXAGE
الگوریتم کهنگی (aging) را پیکربندی می‌کند، که بیشترین تعداد مدخل‌ها در پایگاه‌داده را محدود می‌سازد. به‌طور پیش‌فرض، این مقدار روی 10000 تنظیم شده است.
_ZO_RESOLVE_SYMLINKS
هنگامی که روی 1 تنظیم شود، z پیش از افزودن دایرکتوری‌ها به پایگاه‌داده، پیوندهای نمادین (symlinks) را حل خواهد کرد.

ابزار zoxide از پارامتری به نام _ZO_MAXAGE برای محدود کردن تعداد مدخل‌ها در پایگاه‌داده بر اساس الگوهای استفاده بهره می‌برد. اگر مجموع امتیاز FRECENCY دایرکتوری‌ها در پایگاه‌داده از این مقدار فراتر رود، امتیاز هر دایرکتوری بر ضریب k تقسیم می‌شود - به‌گونه‌ای که مجموع جدید به حدود ۹۰٪ از _ZO_MAXAGE برسد. پس از آن، اگر امتیاز جدید هر دایرکتوری به زیر ۱ برسد، از پایگاه‌داده حذف می‌شود.

از نظر تئوری، حداکثر تعداد دایرکتوری‌ها در پایگاه‌داده 4 * _ZO_MAXAGE است، اگرچه در عمل کمتر خواهد بود.

به هر دایرکتوری در zoxide امتیازی اختصاص می‌یابد که در اولین دسترسی، از ۱ شروع می‌شود. هر دسترسی بعدی امتیاز را ۱ واحد افزایش می‌دهد. هنگام انجام یک پرس‌وجو (query)، مقدار frecency بر اساس آخرین زمان دسترسی به دایرکتوری محاسبه می‌شود:
زمان آخرین دسترسی Frecency
طی یک ساعت گذشته score * 4
طی یک روز گذشته score * 2
طی یک هفته گذشته score / 2
در غیر این صورت score / 4

برای هرگونه مشکل، درخواست قابلیت یا پرسش، لطفاً به نشانی زیر مراجعه کنید:

https://github.com/ajeetdsouza/zoxide/issues

Ajeet D'Souza <98ajeet@gmail.com>

2021-04-12