كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS

تطبيق الوحدة الطرفية هو واجهة سطر الأوامر على macOS. تُمثل كل نافذة في الوحدة الطرفية مثيل من عملية shell. تحتوي النافذة على موجّه والتي تُشير إلى أنه يُمكنك إدخال أمر. يعتمد الموجّه الذي سيظهر لك على إعدادات الغلاف وتطبيق الوحدة الطرفية، ولكنه عادة ما يحتوي على اسم المُضيف الذي قمت بتسجيل الدخول إليه، المجلد الذي تعمل عليه حاليًا، اسم المستخدم الخاص بك، ورمز موجّه.

مع تزايد استخدام نظام macOS وشعبية استخدام zsh بديلاً عن bash، يُصبح تخصيص مُوجّه zsh أمرًا هامًا لتحسين تجربة العمل في الوحدة الطرفية.

سواء كنت تُريد أن يستخدم مُوجّه zsh لونًا مختلفًا، أو يعرض تفاصيل إضافية، أو يعتمد مظهرًا بسيطًا لتحقيق أقصى استفادة من المساحة، فإنَّ macOS يُتيح لك القيام بذلك. تعرف على كيفية تخصيص مُوجّه zsh في الوحدة الطرفية لجعله مُميز بغض النظر عن الخلفية. تحقق من كيفية إصلاح خطأ “لم يتم العثور على أمر zsh: الكود” في “الوحدة الطرفية” على macOS.

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

أساسيات مُوجِّه zsh

عندما تفتح تطبيق “الوحدة الطرفية” على الـ Mac الخاص بك، فإنه يعرض بعض المعلومات المفيدة، مثل آخر تسجيل دخول لك ومُوجه الأوامر. هذا ما تبدو عليه المطالبة عادةً بشكل افتراضي:

Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %

يعرض مُوجِّه zsh سلسلة من النصوص تتكون من اسم المستخدم وطراز الكمبيوتر، مثل MacBook Air و MacBook Pro و Mac mini وما إلى ذلك. تشير التلدة (~) إلى مكان المُوجِّه في الدليل الرئيسي.

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

إذا انتقلت إلى دليل مُختلف في نظام الملفات لديك عبر الوحدة الطرفية، فسيتم عرض اسم الدليل الحالي بدلاً من علامة التلدة.

إنشاء ملف تعريف Z Shell لتخزين كافة الإعدادات

عادةً، يجب عليك التلاعب بملفات النظام لتغيير المظهر الافتراضي. وذلك لأنَّ تحديثات macOS تقوم بإعادة تعيين جميع ملفات النظام إلى الوضع الافتراضي، وسوف تفقد جميع التغييرات التي تجريها. لذا يمكنك إنشاء ملف إعدادات مُحدد (يُعرف باسم ملف dotfile) لملف تعريف zsh الخاص بك لتخزين جميع التغييرات والإعدادات التي تُريدها في مُوجِّه zsh.

لن تجد ملف dotfile بشكل افتراضي على macOS، لذا سيتعين عليك إنشاءه. يوصى بإنشاء ملف تعريف .zshrc جديد لتخزين جميع الإعدادات، مثل كيفية ظهور مُوجِّه zsh وسلوكه. إليك كيفية إنشاء ملف تعريف zsh (ملف dotfile):

  1. افتح تطبيق الوحدة الطرفية كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac .
  2. اكتب الأمر التالي واضغط على مفتاح Enter:
PS1="%n@%m %1~ %#"

ملاحظة: لن يقوم أمر touch بإنشاء ملف تعريف .zshrc إلا إذا لم يكن موجودًا بالفعل. إذا كان الأمر موجودًا بالفعل، فلن يفعل أي شيء.

سيؤدي تنفيذ الكود إلى إنشاء ملف تعريف .zshrc في الدليل الرئيسي لحساب المستخدم الخاص بك. يُمكنك رؤيته ضمن المسار /User/<username>/ في “الباحث” إذا قمت بتمكين عرض ملفات النظام المخفية على الـ Mac الخاص بك.

بعد ذلك، سيكون ملف تعريف zsh مُتاحًا لـ shell بدون تسجيل الدخول في كل مرة تقوم فيها بتشغيل الوحدة الطرفية. ومع ذلك، سيتم استخدامه فقط لصناديق تسجيل الدخول في حالة عدم وجود ملفات أخرى خاصة بتسجيل الدخول مثل .zprofile و .zlogin.

تخصيص مُوجِّه zsh في المحطة الطرفية

عادةً ما يحمل موجه zsh الافتراضي معلومات مثل اسم المستخدم واسم الجهاز والمسار بدءًا من الدليل الرئيسي للمستخدم. يتم تخزين هذه التفاصيل في ملف النظام الخاص بـ zsh shell في المسار /etc/zshrc:

PS1="%n@%m %1~ %#"

في هذه السلسلة من المُتغيِّرات:

  1. %n هو اسم مستخدم حسابك.
  2. %m هو اسم طراز الـ Mac الخاص بك.
  3. %1~ يعني مسار دليل العمل الحالي، حيث يقوم ~ بإزالة مسار دليل $HOME.
  4. %# يعني أن المُوجِّه سيُظهر # إذا كان Shell يعمل بامتيازات الروت (المسؤول) و % إذا لم يكن كذلك.

لإجراء أي تغيير على موجه zsh الافتراضي، سيتعين عليك إضافة قيم ذات صلة حتى يظهر الموجه بشكل مختلف عن الافتراضي.

وإليك كيفية القيام بذلك. افتح “الوحدة الطرفية”، واكتب الأمر التالي، ثم اضغط على Return:

nano ~/.zshrc

إذا كان ملف التعريف ‎.zshrc موجودًا من قبل، فمن المحتمل ألا يكون فارغًا. ومع ذلك، إذا لم يكن موجودًا عند تشغيل أمر touch أعلاه، فسيكون فارغًا. يمكنك إضافة سطر جديد بالنص PROMPT=’…’ أو PS1=’…’ وتضمين القيم ذات الصلة في علامات الاقتباس.

لإجراء تعديل بسيط على مُوجِّه zsh، يمكنك كتابة هذه القيم في ملف تعريف .zshrc:

PROMPT='%n:~$'

اضغط على Ctrl + O لتأكيد إجراء هذه التغييرات على الملف، ثم اضغط على Ctrl + X للخروج من مُحرِّر nano.

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

افتح نافذة وحدة طرفية جديدة بالضغط على Cmd + T لتأكيد وعرض التغييرات التي أجريتها للتو. سيعرض مُوجِّه zsh الجديد اسم مستخدم الـ Mac والدليل الرئيسي والرمز $ في النهاية. يُمكنك إضافة مسافات في مُتغيِّر PROMPT أعلاه بين %n و ~ و $ إذا كنت تُفضل أن تكون المُتغيِّرات متباعدة في الوحدة الطرفية.

إذا كنت ترغب في الحصول على اسم مستخدم مُخصص، فاستبدل %n باختيارك المُفضل. هنا مثال:

PROMPT='customusername~$'

الآن، إذا قمت بفتح نافذة وحدة طرفية جديدة، سترى ما يلي:

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

إذا كنت ترغب في تغيير أي معلمة أخرى يدويًا، فيمكنك القيام بذلك عن طريق استبدال المُتغيِّرات الافتراضية باستخدام التنسيق الموجود في متغير PS1 أعلاه. يمكنك تضمين معلومات أو إزالتها من موجه zsh لتناسب تفضيلاتك.

إذا كان هذا يبدو معقدًا للغاية، فاستخدم موقع ويب مثل Zsh Prompt Generator لمساعدتك في تخصيص Z Shell. تحقق من مُقارنة بين Zsh و Bash: اختيار واجهة الأوامر (Shell) المُناسبة للبرمجة وإدارة النصوص.

أضف التاريخ والوقت إلى مُوجِّه zsh

وبصرف النظر عن اسم المستخدم الخاص بك، يُمكنك إلحاق التاريخ أو الوقت الحالي، لذلك لا يتعين عليك النظر بعيدًا عن نافذة الوحدة الطرفية النشطة للتحقق من تلك المعلومات.

قم بتشغيل “الوحدة الطرفية” وافتح ملف التعريف .zshrc:

nano ~/.zshrc

لتضمين التاريخ في المُوجِّه، يُمكنك استخدام %D ليظهر التاريخ بتنسيق yy-mm-dd أو %W ليظهر بتنسيق mm/dd/yy. وبعد ذلك سيظهر المُوجِّه الجديد بالشكل التالي:

PROMPT='%n:%W:~$'

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

نصيحة: استخدمنا النقطتين (:) في مُتغيِّر PROMPT أعلاه لإضافة فصل مرئي، ولكن يُمكنك استخدام مسافة بيضاء أو أي شيء آخر. على سبيل المثال، نستخدم علامة أكبر من (>) للفصل بين الوقت والدليل الحالي.

إذا كنت تُريد تضمين وقت النظام في مُوجِّه zsh، أضف %T للوقت الحالي بتنسيق 24 ساعة، أو %t ليظهر الوقت بتنسيق 12 ساعة، أو استخدم %* لعرض الوقت بتنسيق 24 ساعة. تنسيق -hour مع الثواني.

PROMPT='%n@%T>~$'

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

عرض التاريخ والوقت على يمين مُوجِّه zsh

لعرض المعلومات على يمين مُوجِّه zsh، تحتاج إلى إضافة مُتغيِّر RPROMPT إلى ملف zshrc. على سبيل المثال، لإضافة التاريخ والوقت، أدخل ما يلي:

RPROMPT='%D @ %T'

سيبدو المُوحِّه الخاص بك الآن كما يلي:

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

أضف لونًا إلى النص في موجه zsh

بصرف النظر عن تعديل تطبيق “الوحدة الطرفية” بالألوان، يُمكنك إضافة بعض الألوان إلى النص الموجود في ملف تعريف zsh الخاص بك على الـ Mac للحصول على استراحة مرئية رائعة. قم بتشغيل “الوحدة الطرفية” وافتح ملف التعريف .zshrc:

nano ~/.zshrc

يدعم Z Shell الألوان والظلال الرمادية لنص المُوجه لاستكمال الخلفية. يُمكنك اختيار لون المقدمة (النص) من هذه الاختيارات: black، white، yellow، green، red، blue، cyan، و magenta. وإليك كيفية استخدامها:

PROMPT='%F{cyan}%n%f:~$'

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

إذا كنت تُريد اختيار ظل لون zsh معين، فيمكنك الاختيار من بين 256 لونًا بـ 8 بت يدعمها تطبيق الوحدة الطرفية. وإليك كيفية استخدام القيم الرقمية للألوان:

PROMPT='%F{51}%n%f:~$'

تحتاج إلى وضع متغيرات لون المقدمة الافتراضية %F و %f بين النص ذي الصلة الذي ترغب في تلوينه.

إضافة تأثيرات بصرية في مُوجِّه zsh

إذا لم يكن تلوين نص المُوجِّه كافيًا، فيُمكنك تمييز موجه zsh الخاص بك لجعله بارزًا وسط الكثير من النص. بالنسبة للمبتدئين، يُمكنك كتابة موجه zsh بالخط العريض:

PROMPT='%B%F{51}%n%f%b:~$'

إضافة %B في البداية ووضع %b في النهاية بين النص ذي الصلة سيجعله غامقًا.

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

وبالمثل، يُمكنك إضافة %S في البداية و %s في النهاية لتمييز النص. سيحمل التمييز نفس اللون الذي اخترته للظهور بين المُتغيِّرين %S و %s.

PROMPT='%S%F{51}%n%f%s:~$'

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

يُمكنك أيضًا وضع خط تحت نص مُوجِّه zsh. لإلحاق تسطير للمُوجَّه، يمكنك تضمين المتغير %U في بداية النص و %u في نهاية النص ذي الصلة.

PROMPT='%U%F{51}%n%f%u:~$'

كيفية تخصيص مُوجه zsh في الوحدة الطرفية على macOS - Mac

إزالة تفاصيل تسجيل الدخول الأخيرة من مُوجِّه zsh

يمكن أن يؤدي إخفاء أو تعطيل السطر العلوي الذي يكشف عن آخر وقت لتسجيل الدخول في تطبيق “الوحدة الطرفية” إلى إعطاء مُوجِّه zsh مظهرًا أكثر وضوحًا. يُمكنك استخدام الأمر التالي لإخفاء تلك المعلومات:

touch ~/.hushlogin

في المرة التالية التي تفتح فيها “الوحدة الطرفية”، لن ترى أي شيء أعلى موجه zsh.

إعادة ضبط تخصيص zsh الخاص بك

إذا كنت بحاجة إلى بداية جديدة، فيمكنك القيام بذلك عن طريق تعيين المُتغيِّر PROMPT أو PS1 على القيمة الافتراضية:

PROMPT="%n@%m %1~ %#"

إذا قمت بإضافة معلومات إلى يمين موجه zsh باستخدام RPROMPT، فاحذفها من .zshrc.

وبدلاً من ذلك، يمكنك حذف متغيرات PROMPT/PS1 و RPROMPT بأمان في الملف ‎.zshrc. لا تقلق، لأنَّ الإعدادات الموجودة في ملف .zshrc تنطبق فقط على ملف تعريف المستخدم الحالي. إذا قمت بحذف الاثنين، فسيتم استخدام الإعدادات الافتراضية المخزنة في ملف نظام Z shell على /etc/zshrc.

الآن بعد أن حصلت على التفاصيل الكاملة حول كيفية تخصيص مُوجِّه zsh، قم بالتجربة قليلاً واجعله أكثر بروزًا. يُمكنك جعله غامقًا وتسطيره وتقصيره وحتى تضمين المزيد من المعلومات فيه. وإذا لم تكن راضيًا عن التغييرات، فيمكنك دائمًا العودة إلى المظهر الافتراضي بسرعة. يُمكنك الإطلاع الآن على مقارنة بين بين macOS و Linux: الاختلافات الرئيسية التي يجب أن تعرفها.

زر الذهاب إلى الأعلى