حاولت القفز مرة أخرى إلى الغلاف من MC (باستخدام co) ثم fasd:
$ z 32
fasd:4: unknown file attribute: _
أنا واجهت نفس المشكلة. لسبب ما ، هناك وظيفة fasd () محددة في محطة MC. لا أعرف كيف وصلت إلى هناك.
% which fasd
fasd () {
pwd 7 kill -STOP precmd_functions+=(_mc_precmd)
}
تؤدي إزالة الوظيفة إلى إصلاح المشكلة:
% unset -f fasd
% which fasd
/usr/bin/fasd
% z tmp <tab>
/tmp /home/fcelda/tmp
يبدو أن الخطاف _fasd_preexec
يتعارض مع الخطاف _mc_precmd
. تمكنت من إيجاد حل بديل.
هذا هو خطاف fasd الحالي:
% which _fasd_preexec
_fasd_preexec () {
{
eval "fasd --proc $(fasd --sanitize $1)"
} >> "/dev/null" 2>&1
}
وهذا هو خطاف MC:
% which _mc_precmd
_mc_precmd () {
pwd >&7
kill -STOP $$
}
لقد نجحت في التخلص من تصحيح الأخطاء في _fasd_preexec
:
% which _fasd_preexec
_fasd_preexec () {
fasd --proc "$(fasd --sanitize "$1")"
}
لست متأكدًا من كيفية إصلاح هذه المشكلة بشكل صحيح. نجح استبدال الأقواس بالأقواس أيضًا ، لكنني لست متأكدًا مما إذا كان تشغيل غلاف فرعي مرغوبًا أم لا.
فقط واجهت نفس المشكلة. حاولت إعادة تعريف _fasd_preexec
لكن دون جدوى.
لقد قمت بحل هذه المشكلة بإعادة تعريف _fasd_preexec (). تحياتي fcelda
في zshrc
if ps $PPID |grep -q mc; then
_fasd_preexec () {
fasd --proc "$(fasd --sanitize "$1")"
}
endif
يمكنك أيضًا إصلاحه جزئيًا إذا قمت بإعادة تعريف fasd_cd
بالمسار الكامل إلى fasd
قابل للتنفيذ. لذلك سيكون لديك فقط وظيفة fasd معطلة. وستعمل جميع الأسماء المستعارة مثل z
و zz
.
ملاحظة: هل نحتاج إلى هذه المعلومات في README.md؟
ezh أعتقد أنه سيكون من الجيد الحصول على هذا في الملف التمهيدي .
هذا الخطأ يرحب بي على كل منصة ممكنة لذلك بدأت في تجنب الإكمال. يجب إضافته في الملف التمهيدي. جميل أن يكون لديك الإصلاح.
التعليق الأكثر فائدة
لقد قمت بحل هذه المشكلة بإعادة تعريف _fasd_preexec (). تحياتي fcelda
في zshrc
يمكنك أيضًا إصلاحه جزئيًا إذا قمت بإعادة تعريف
fasd_cd
بالمسار الكامل إلىfasd
قابل للتنفيذ. لذلك سيكون لديك فقط وظيفة fasd معطلة. وستعمل جميع الأسماء المستعارة مثلz
وzz
.ملاحظة: هل نحتاج إلى هذه المعلومات في README.md؟