هل هناك مكافئ سمكي لـ precmd (zsh) / PROMPT_COMMAND (bash)؟
أنا أبحث عن طريقة لتخزين محفوظات أكثر شمولاً مع المسار والتاريخ والأمر في ملف سجل منفصل
هناك العديد من الطرق للقيام بذلك. مطالبة Fish هي جزء من التعليمات البرمجية في وظيفة تسمى fish_prompt
. يمكنك تعديله عبر funced fish_prompt
ثم حفظ هذه التغييرات على القرص باستخدام funcsave fish_prompt
(سيؤدي ذلك إلى تخزينه في ~ / .config / fish / jobs / fish_prompt.fish ، والذي يمكنك أيضًا تعديله مباشرةً إذا اخترت ذلك).
بخلاف ذلك ، هناك حدث fish_prompt
الذي سيتم إطلاقه قبل المطالبة مباشرة. يمكنك كتابة مستمع له مثل
function dostuff --on-event fish_prompt
# do your stuff
end
لاحظ أنه لا يمكن حفظ هذا في دليل الوظائف حيث يتم تحميلها تلقائيًا. احفظه في config.fish ، وهو ملف يتم الحصول عليه من مصدره أو (في إصدار الأسماك التالي) ~ / .config / fish / conf.d (في ملف ينتهي بـ ".fish").
هناك أيضًا الأحداث fish_preexec
و fish_postexec
التي سيتم إطلاقها مباشرة قبل / بعد الوظيفة ، على التوالي.
gawells ، هل أجاب هذا على سؤالك؟
نعم ، لقد فعلت ذلك بفضل
التعليق الأكثر فائدة
هناك العديد من الطرق للقيام بذلك. مطالبة Fish هي جزء من التعليمات البرمجية في وظيفة تسمى
fish_prompt
. يمكنك تعديله عبرfunced fish_prompt
ثم حفظ هذه التغييرات على القرص باستخدامfuncsave fish_prompt
(سيؤدي ذلك إلى تخزينه في ~ / .config / fish / jobs / fish_prompt.fish ، والذي يمكنك أيضًا تعديله مباشرةً إذا اخترت ذلك).بخلاف ذلك ، هناك حدث
fish_prompt
الذي سيتم إطلاقه قبل المطالبة مباشرة. يمكنك كتابة مستمع له مثللاحظ أنه لا يمكن حفظ هذا في دليل الوظائف حيث يتم تحميلها تلقائيًا. احفظه في config.fish ، وهو ملف يتم الحصول عليه من مصدره أو (في إصدار الأسماك التالي) ~ / .config / fish / conf.d (في ملف ينتهي بـ ".fish").
هناك أيضًا الأحداث
fish_preexec
وfish_postexec
التي سيتم إطلاقها مباشرة قبل / بعد الوظيفة ، على التوالي.