تخطَّ إلى المحتوى

ورقة مرجعية zoxide - بديل أذكى لـ cd

ورقة مرجعية zoxide - بديل أذكى لـ cd

Section titled “ورقة مرجعية zoxide - بديل أذكى لـ cd”

أمر cd أذكى يتعلم الأدلة الأكثر استخدامًا ويتيح لك الانتقال إليها بضغطات قليلة فقط. يستخدم خوارزمية “frecency” تجمع بين التكرار والحداثة للزيارات.

المنصةالأمر
macOS (Homebrew)brew install zoxide
Ubuntu/Debiansudo apt install zoxide
Arch Linuxsudo pacman -S zoxide
Fedora/RHELsudo dnf install zoxide
Windows (Winget)winget install ajeetdsouza.zoxide
Windows (Scoop)scoop install zoxide
Windows (Chocolatey)choco install zoxide
Cargo (All platforms)cargo install zoxide --locked
Condaconda install -c conda-forge zoxide
Nixnix-env -iA nixpkgs.zoxide
Install scriptcurl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

أضف السطر المناسب إلى ملف تكوين الشِل الخاص بك:

الشِلملف التكوينالأمر المطلوب إضافته
Bash~/.bashrceval "$(zoxide init bash)"
Zsh~/.zshrceval "$(zoxide init zsh)"
Fish~/.config/fish/config.fishzoxide init fish | source
PowerShellProfileInvoke-Expression (& { (zoxide init powershell | Out-String) })
Elvish~/.elvish/rc.elveval (zoxide init elvish | slurp)
Nushellenv.nuzoxide init nushell | save -f ~/.zoxide.nu
Xonsh~/.xonshrcexecx($(zoxide init xonsh))
الأمرالوصف
z fooالانتقال إلى الدليل الأعلى تصنيفًا المطابق لـ “foo”
z foo barالانتقال إلى الدليل المطابق لـ “foo” و “bar” معًا
z ~/projectsالانتقال إلى المسار الدقيق (يعمل مثل cd العادي)
z ..الانتقال دليل واحد للأعلى
z -العودة إلى الدليل السابق
zi fooاختيار تفاعلي مع fzf (عند تعدد المطابقات)
ziاختيار تفاعلي من جميع الأدلة المتتبعة

يطابق zoxide مسارات الأدلة حسب الكلمات الرئيسية. لست بحاجة إلى كتابة المسار الكامل:

# إذا كنت تزور /home/user/projects/my-app بشكل متكرر
z my-app      # ينتقل مباشرة إلى هناك
z proj app    # يعمل أيضًا (يطابق كلا الكلمتين في المسار)
z app         # يعمل إذا كان دليل "app" الأكثر تكرارًا

التسجيل: تحصل الأدلة على نقاط عند الزيارة. الزيارات الأخيرة تسجل أعلى. الأدلة غير المستخدمة تتضاءل بمرور الوقت.

الأمرالوصف
zoxide add /path/to/dirإضافة دليل يدويًا إلى قاعدة البيانات
zoxide remove /path/to/dirإزالة دليل من قاعدة البيانات
zoxide editفتح قاعدة البيانات في $EDITOR للتحرير اليدوي
zoxide query fooإظهار أفضل مطابقة لـ “foo” (بدون الانتقال)
zoxide query -lقائمة جميع الأدلة في قاعدة البيانات، مرتبة حسب النقاط
zoxide query -l fooقائمة جميع المطابقات لـ “foo” مع النقاط
zoxide query -ls fooقائمة المطابقات مع النقاط، مرتبة حسب النقاط
zoxide query -i fooوضع الاختيار التفاعلي

الاستيراد من أدوات أخرى

Section titled “الاستيراد من أدوات أخرى”

الانتقال من أداة قفز دليل أخرى؟ استيراد قاعدة البيانات:

الأمرالوصف
zoxide import --from=autojump /path/to/dbالاستيراد من autojump
zoxide import --from=z /path/to/dbالاستيراد من z/z.sh
zoxide import --from=fasd /path/to/dbالاستيراد من fasd

مواقع قاعدة البيانات الافتراضية للاستيراد:

  • autojump: ~/.local/share/autojump/autojump.txt
  • z: ~/.z
  • fasd: ~/.fasd
المتغيرالافتراضيالوصف
_ZO_DATA_DIRخاص بالمنصةالدليل لتخزين قاعدة البيانات
_ZO_ECHO0طباعة الدليل المطابق قبل التنقل (1 للتمكين)
_ZO_EXCLUDE_DIRSبلاالأدلة المراد استبعادها (مسارات مفصولة بنقطتين)
_ZO_FZF_OPTSبلاخيارات مخصصة ممررة إلى fzf في الوضع التفاعلي
_ZO_MAXAGE10000الحد الأقصى لعدد الإدخالات في قاعدة البيانات
_ZO_RESOLVE_SYMLINKS0حل الروابط الرمزية قبل تخزين المسارات (1 للتمكين)
الخيارالوصف
--cmd jتغيير اسم الأمر من z إلى j (ينشئ j و ji)
--hook promptتحديث النقاط على كل موجه (افتراضي)
--hook pwdتحديث النقاط فقط عند تغيير الدليل
--hook noneعدم تحديث النقاط تلقائيًا
--no-cmdلا تنشئ اختصارات z و zi (استخدام __zoxide_z مباشرة)
# مثال: استخدام 'j' بدلاً من 'z'، تحديث عند تغيير الدليل فقط
eval "$(zoxide init bash --cmd j --hook pwd)"
# استبعاد الدليل الرئيسي وtmp من التتبع
export _ZO_EXCLUDE_DIRS="$HOME:/tmp:/private/tmp"
# استخدام معاينة fzf مخصصة
export _ZO_FZF_OPTS="--preview 'eza -la --icons {2..}' --preview-window=right:40%"
# الانتقال إلى دليل مشروع بالاسم الجزئي
z myproject

# التمييز بكلمات رئيسية متعددة
z work api          # يطابق ~/work/projects/api-server

# الوضع التفاعلي عندما لا تكون متأكدًا
zi deploy           # يفتح fzf بجميع الأدلة المطابقة

# التحقق مما يعتقد zoxide أنه أفضل مطابقة
zoxide query deploy

# رؤية جميع الأدلة المتتبعة ونقاطها
zoxide query -ls

# تنظيف الأدلة المحذوفة من قاعدة البيانات
zoxide query -l | while read -r line; do
  dir=$(echo "$line" | awk '{print $2}')
  [ ! -d "$dir" ] && zoxide remove "$dir"
done

عند استخدام zi، يستخدم zoxide تلقائيًا fzf للاختيار التفاعلي. تأكد من تثبيت fzf لكي يعمل هذا.

يوفر zoxide إكمالات علامات التبويب. بعد تكامل الشِل، الضغط على Tab بعد z سيقترح الأدلة المطابقة.

الميزةcdzoxide (z)
الانتقال إلى مسار دقيقcd /full/pathz /full/path
المطابقة الجزئيةلانعم (z proj)
ترتيب Frecencyلانعم
الاختيار التفاعليلانعم (zi)
الدليل السابقcd -z -
تعلم السلوكلايتعلم من الاستخدام
استيراد قاعدة البياناتغير متاحautojump, z, fasd

استكشاف الأخطاء وإصلاحها

Section titled “استكشاف الأخطاء وإصلاحها”
المشكلةالحل
أمر z غير موجودتأكد من أن سطر تكامل الشِل موجود في تكوين الشِل وأعد تشغيل الشِل
لم يتم العثور على مطابقاتقم بزيارة الأدلة باستخدام cd أولاً — يتعلم zoxide مع الوقت
تم مطابقة الدليل الخاطئاستخدم كلمات رئيسية أكثر تحديدًا: z work api بدلاً من z api
قاعدة البيانات كبيرة جدًاخفض _ZO_MAXAGE أو تشغيل zoxide edit للتنظيف