مقدمة
عند الغوص في عالم واجهات سطر الأوامر، ستواجه حتمًا مصطلحي "zsh" و "Oh My Zsh." على الرغم من ذكرهما غالبًا في نفس السياق، إلا أنهما يخدمان أغراضًا مختلفة في تحسين تجربتك مع الطرفية. ستستكشف هذه الدورة الشاملة الفروق بينهما، وتجيب على الأسئلة الشائعة، وتسلط الضوء على الميزات القوية التي يجلبها كل منهما إلى سير عملك. سواء كنت مطورًا ذو خبرة أو مجرد مبتدئ في مجال سطر الأوامر، فإن فهم هذه الأدوات يمكن أن يزيد بشكل كبير من إنتاجيتك ويجعل تجربتك مع الطرفية أكثر متعة.
قبل أن نتعمق أكثر في تخصيص الطرفية، إليك أداة ستغير سير عمل تطوير API الخاص بك بشكل جذري.
إذا كنت قد سئمت من قيود Postman، فإن Apidog يقدم بديلًا منعشًا يجمع بين توثيق API، والتصميم، والاختبار، وخدمات المحاكاة في منصة واحدة سلسة.

مع واجهته البديهية، وميزاته التعاونية، وقدراته القوية في الأتمتة، يبسط Apidog دورة حياة API بالكامل بينما يقضي على التحويل بين السياقات الذي يؤرق الأدوات التقليدية.

يبلغ المطورون عن دورات تطوير API أسرع بنسبة تصل إلى 60% بعد التحول. سواء كنت تبني خدمات RESTful، أو نقاط نهاية GraphQL، أو WebSockets، فإن مجموعة أدوات Apidog الشاملة وأدائها المتفوق يجعلها الخيار الذكي للفرق التطوير الحديثة. هل أنت مستعد لتعزيز سير عمل API الخاص بك؟ قد يكون Apidog هو بالضبط ما تبحث عنه.
فهم الأساسيات
ما هو Zsh؟
Zsh (Z Shell) هو مُفسر أوامر قوي أو شل يعمل كنسخة موسعة من Bourne Shell (sh) مع العديد من التحسينات والميزات الإضافية. تم إنشاؤه بواسطة بول فالستاد في عام 1990 أثناء دراسته في جامعة برينستون، تطور zsh ليصبح واحدًا من أكثر الشلّات غنىً بالميزات المتاحة اليوم.
تشمل الميزات التقنية الرئيسية لـ zsh:
- إكمال الأوامر المتقدم: نظام الإكمال في Zsh قابل للبرمجة بدرجة عالية وقابل للتخصيص، مما يسمح باقتراحات تفهم السياق.
- تصحيح الأخطاء الإملائية: يقدم تصحيحات تلقائيًا للأوامر والمعلمات المكتوبة بشكل خاطئ.
- تاريخ الأوامر المشترك: يحتفظ بالسجل عبر جلسات الشل المتعددة، وليس فقط حسب الطرفية.
- توسيع المسار: يدعم المطابقة المتقدمة للنمط وأنماط القفز بخلاف علامات التبويب الأساسية.
- العمليات العشرية العائمة: دعم مضمن للعمليات الرياضية.
- نظام الوحدات: يمكن تحميل الوظائف ديناميكيًا وإيقاف تحميلها حسب الحاجة.
- مطالبات قابلة للتثيم: دعم للمطالبات على الجانب الأيمن والمطالبات متعددة الأسطر مع تنسيق غني.
ما هو Oh My Zsh؟
Oh My Zsh ليس شلًا بحد ذاته ولكن إطار عمل مفتوح المصدر يدعمه المجتمع لإدارة تكوين zsh الخاص بك. تم إنشاؤه بواسطة روبي راسل في عام 2009، يبني على zsh لتوفير تجربة أكثر سهولة وغنى بالميزات بدون الحاجة لتكوين يدوي شامل.
من الناحية التقنية، يتكون Oh My Zsh من:
- مجموعة من ملفات التكوين التي تعيين افتراضات معقولة لـ zsh
- معمارية إضافات لتمديد الوظائف
- نظام تيم خاص لتخصيص مظهر مطالبتك
- أداة سطر الأوامر (
omz
) لإدارة التثبيت الخاص بك - إضافات قدّمها المجتمع تعزز سير عمل معين
هل zsh و Oh My Zsh هما نفس الشيء؟
لا، zsh و Oh My Zsh ليسا نفس الشيء. العلاقة بينهما مشابهة لعلاقة نظام التشغيل وتطبيق البرمجيات. zsh هو الشل الأساسي (مثل نظام التشغيل)، يوفر الوظيفة الأساسية وتفسير الأمر. Oh My Zsh هو إطار عمل مبني فوق zsh (مثل تطبيق)، يوسع من قدراته مع تكوينات وتطبيقات وقوالب مريحة.
من وجهة نظر تقنية:
zsh = الملف التنفيذي للشل (/bin/zsh)
Oh My Zsh = مجموعة من ملفات التكوين والنصوص البرمجية في ~/.oh-my-zsh/
يعدل Oh My Zsh ملف ~/.zshrc
الخاص بك لاستدعاء كود إطاره، والذي يقوم بعد ذلك بتحميل ميزات مختلفة بناءً على تكوينك. لا يستبدل أو يعدل ثنائي zsh نفسه.
هل أحتاج إلى تثبيت zsh قبل Oh My Zsh؟
نعم، يجب عليك بالتأكيد تثبيت zsh قبل Oh My Zsh. نظرًا لأن Oh My Zsh هو إطار عمل يوسع وظائف zsh، فإن محاولة تثبيت Oh My Zsh بدون zsh ستكون مثل محاولة تثبيت إضافة للمتصفح بدون المتصفح نفسه.
تتبع عملية التثبيت هذا التسلسل المحدد:
كيفية تثبيت Zsh
على Ubuntu/Debian:
sudo apt update
sudo apt install zsh
على CentOS/RHEL:
sudo yum install zsh
على macOS (باستخدام Homebrew):
brew install zsh
ملحوظة: تأتي الإصدارات الأحدث من macOS Catalina وما بعدها مع zsh مثبتة مسبقًا.
كيفية ضبط Zsh كشل افتراضي لديك
بعد التثبيت، تحتاج إلى جعل zsh شلك الافتراضي:
chsh -s $(which zsh)
قد تحتاج إلى تسجيل الخروج ثم تسجيل الدخول مرة أخرى ليبدأ التغيير. للتحقق من تعيين zsh كشل افتراضي لديك:
echo $SHELL
يجب أن تكون المخرجات /bin/zsh
أو /usr/bin/zsh
حسب نظامك.
كيفية تثبيت Oh My Zsh
بمجرد تثبيت zsh وتعيينه كشلك الافتراضي، يمكنك تثبيت Oh My Zsh باستخدام إما curl أو wget:
# باستخدام curl
sh -c "$(curl -fsSL <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh>)"
# باستخدام wget
sh -c "$(wget <https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh> -O -)"
تقوم نصوص التثبيت بعدة إجراءات:
- التحقق مما إذا كان zsh مثبتًا
- التأكد من أن zsh تم تعيينه كشل افتراضي
- إنشاء نسخة احتياطية لأي ملف
.zshrc
موجود - استنساخ مستودع Oh My Zsh إلى
~/.oh-my-zsh
- إنشاء ملف
.zshrc
جديد تم تكوينه لاستخدام Oh My Zsh - اختياريًا تغيير شلك الافتراضي إلى zsh إذا لم يكن مخصصًا بالفعل
ما هو بالضبط Oh My Zsh؟
Oh My Zsh هو إطار عمل مفتوح المصدر يدعمه المجتمع، مصمم لجعل إدارة تكوين zsh الخاصة بك أسهل وأقوى. يحتوي مستودع المشروع على أكثر من 300 إضافة و150 قالبًا، مع مساهمات من آلاف المطورين في جميع أنحاء العالم.
البنية التقنية لـ Oh My Zsh
عند تثبيته، ينشئ Oh My Zsh بنية الدليل التالية:
~/.oh-my-zsh/
├── cache/ # ملفات ذاكرة التخزين المؤقت للإضافات
├── custom/ # التخصيصات الخاصة بالمستخدم
│ ├── plugins/ # الإضافات المخصصة
│ └── themes/ # القوالب المخصصة
├── lib/ # وظائف إطار العمل الأساسية
├── log/ # سجلات لتصحيح الأخطاء
├── plugins/ # الإضافات المدمجة
├── templates/ # قوالب للتكوين
├── themes/ # القوالب المدمجة
└── tools/ # نصوص تحويلية
يقوم ملف .zshrc
الذي تم إنشاؤه بواسطة Oh My Zsh بتحميل هذا الإطار وتطبيق التكوينات بناءً على تفضيلات المستخدم. عادةً ما يحتوي الملف على:
# مسار تثبيت Oh My Zsh
export ZSH="$HOME/.oh-my-zsh"
# اختيار القالب
ZSH_THEME="robbyrussell"
# تكوين الإضافات
plugins=(git docker python)
# تحميل Oh My Zsh
source $ZSH/oh-my-zsh.sh
# تخصيصات المستخدم
# ...
الميزات الأساسية لـ Oh My Zsh
- التحديثات التلقائية: يقوم الإطار بالتحقق من التحديثات بشكل دوري ويطلب منك تثبيتها.
- إدارة الإضافات: آلية بسيطة لتمكين/تعطيل الوظائف من خلال مصفوفة
plugins
. - نظام القوالب: التبديل السهل بين الأنماط المرئية من خلال تغيير متغير
ZSH_THEME
. - ألقاب مخصصة: العديد من الألقاب المدمجة للأوامر الشائعة، خاصة لعمليات Git.
- وظائف مخصصة: وظائف مساعد لتبسيط المهام المتكررة.
- إكمال الأوامر: نصوص إكمال محسّنة لأدوات وأوامر متنوعة.
هل Oh My Zsh أفضل من bash؟
هذا السؤال ليس دقيقًا تمامًا، حيث يقارن أنواعًا مختلفة من الأدوات. سيكون المقارنة الأكثر ملاءمة بين zsh و bash (كلاهما شلز)، أو بين Oh My Zsh وإطارات عمل أخرى لـ bash مثل bash-it.
مقارنة تقنية: Zsh مقابل Bash
الميزة | Zsh | Bash |
---|---|---|
إكمال الأزرار | متقدم، مدرك للسياق | أساسي، إكمال الملفات/الأوامر |
التوافق في البرمجة النصية | متوافق للغاية مع سكربتات bash | بنية برمجة نصية قياسية |
قابلية التخصيص | قابل للتخصيص بدرجة عالية | أقل قابلية للتخصيص |
تصحيح الأخطاء الإملائية | مدمج | يتطلب أدوات خارجية |
توسيع المسار | مطابقة متقدمة (مثل **/*.txt ) |
مطابقة أساسية |
قدرة الثيمات | واسعة | محدودة |
نظام الإضافات | كبير | أصغر |
افتراضي على macOS | نعم (منذ كاتالينا) | لا (كان افتراضيًا قبل كاتالينا) |
امتثال POSIX | اختياري | معظم الوقت متوافق مع POSIX |
الأداء | مماثل لـ bash لمعظم العمليات | أداء أساسي |
بينما يعد bash أكثر الشلّات توفرًا في أنظمة unix-like، يوفر zsh ميزات أكثر حداثة للاستخدام التفاعلي. إذا كنت تستخدم الشل بشكل أساسي للبرمجة النصية، فقد يظل bash مفضلًا لأسباب تتعلق بالتوافق.
Oh My Zsh مقابل Zsh العادي
تضيف zsh مع Oh My Zsh:
- إعدادات مسبقة التكوين: افتراضات معقولة للعديد من خيارات zsh.
- الإضافات الجاهزة للاستخدام: الوصول إلى مئات الإضافات بدون تكوين يدوي.
- ثيمات احترافية: مطالبات جذابة بصريًا مع معلومات مفيدة.
- الدعم من المجتمع: قاعدة مستخدمين كبيرة تشارك التكوينات وحل المشكلات.
- إدارة مبسطة: أدوات لتحديث وإدارة تكوينك.
التعويض هو أن Oh My Zsh يمكن أن يكون أبطأ قليلًا في الإقلاع من تكوين zsh الحد الأدنى، على الرغم من أن هذا عادة ما يكون غير ملحوظ على الأنظمة الحديثة.
كيفية تخصيص ثيمات Oh My Zsh
يغير نظام ثيمات Oh My Zsh مظهر الطرفية بشكل كبير والمعلومات المعروضة في المطالبة.
كيفية تغيير ثيمتك
تغيير الثيمات بسيط مثل تعديل متغير ZSH_THEME
في ملف ~/.zshrc
الخاص بك:
# تعيين الثيم إلى agnoster
ZSH_THEME="agnoster"
بعد حفظ الملف، قم بتطبيق التغييرات إما عن طريق إعادة تشغيل الطرفية الخاصة بك أو عن طريق تشغيل:
source ~/.zshrc
ثيمات Oh My Zsh الشائعة وميزاتها
1. Robbyrussell (افتراضي)
الثيم الافتراضي الذي أنشأه مؤسس Oh My Zsh يوفر:
- الدليل الحالي
- فرع Git والحالة
- مطلب بسيط للسهم
- مؤشر حالة الأمر (سهم أحمر/أخضر)
➜ ~/projects/website git:(master) ✗
2. Agnoster
ثيم يعتمد على Powerline يعرض:
- اسم المستخدم واسم المضيف (يمكن تخصيصه)
- الدليل الحالي
- حالة Git مع مؤشرات الألوان
- بيئة العمل الافتراضية لـ Python
- مؤشر مهمة الخلفية
- حالة خروج الأمر السابق
username@hostname ~/projects/website master ✗ $
لاستخدام Agnoster بشكل فعال، ستحتاج إلى تثبيت خط متوافق مع Powerline مثل Fira Code أو Meslo.
3. Powerlevel10k
على الرغم من أنه غير مدمج مع Oh My Zsh افتراضيًا، يمكن تثبيت هذا الثيم الشهير بشكل منفصل:
git clone --depth=1 <https://github.com/romkatv/powerlevel10k.git> ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
ثم قم بتعيين ZSH_THEME="powerlevel10k/powerlevel10k"
في ملف ~/.zshrc
الخاص بك.
يوفر Powerlevel10k:
- معالج تكوين تفاعلي
- Segments مطلوبة مشروطة
- ميزة المطالبة الفورية لبدء تشغيل الشل بشكل أسرع
- خيارات تخصيص واسعة
- التوافق مع تكوينات Powerlevel9k الموجودة
كيفية إنشاء ثيم مخصص
إذا كنت ترغب في إنشاء ثيم خاص بك:
- إنشاء ملف في
~/.oh-my-zsh/custom/themes/mytheme.zsh-theme
- تعريف مطالبتك باستخدام بناء جملة المطالبات في zsh أو عن طريق تعديل ثيم موجود
- تعيين
ZSH_THEME="mytheme"
في ملف~/.zshrc
الخاص بك
مثال على ثيم مخصص بسيط:
# ~/.oh-my-zsh/custom/themes/mytheme.zsh-theme
PROMPT='%{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)➜ '
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[green]%}["
ZSH_THEME_GIT_PROMPT_SUFFIX="]%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY=" %{$fg[red]%}*%{$fg[green]%}"
ZSH_THEME_GIT_PROMPT_CLEAN=""
كيفية استخدام إضافات Oh My Zsh
الإضافات هي المكان الذي يتألق فيه Oh My Zsh حقًا، موسعةً وظائف zsh مع أدوات متخصصة للغات وأطر عمل وسير عمل متنوعة.
كيفية تفعيل الإضافات
تُفعل الإضافات من خلال سردها في مصفوفة الإضافات في ملف ~/.zshrc
الخاص بك:
plugins=(git docker npm python vscode)
بعد إضافة أو إزالة الإضافات، قم بإعادة تحميل تكوينك:
source ~/.zshrc
نظرة تقنية حول كيفية عمل الإضافات
عندما يقوم Oh My Zsh بالتحميل، يعالج قائمة الإضافات الخاصة بك ولكل إضافة:
- يبحث عن دليل الإضافة في
$ZSH/plugins/
أو$ZSH_CUSTOM/plugins/
- يستدعي ملف
pluginname.plugin.zsh
إذا كان موجودًا - وإلا، يستدعي أي ملفات
.zsh
في دليل الإضافة - يحمّل أي وظائف معروفة في الدليل الفرعي
functions/
يمكن أن تعرف الإضافات:
- ألقاب للأوامر المستخدمة بشكل شائع
- وظائف تلخص عمليات معقدة
- إكمالات لأدوات خاصة
- وظائف تحويل تعمل في أوقات معينة
- إعدادات متغيرات البيئة
الإضافات الأساسية وميزاتها التقنية
1. إضافة Git
تقدم إضافة Git، المفعلّة افتراضيًا، أكثر من 150 لقبًا لعمليات Git الشائعة:
# أمثلة
gst # git status
ga # git add
gcmsg # git commit -m
gp # git push
gl # git pull
glog # git log --oneline --decorate --graph
تشمل أيضًا وظائف مثل grename
لإعادة تسمية الفروع وgclean
لتنظيف الفروع القديمة.
2. إضافة Docker
ميزات:
- إكمال الأوامر لواجهة سطر الأوامر الخاصة بـ Docker
- ألقاب مثل
dps
لـdocker ps
وdexec
لـdocker exec
- وظائف لإدارة الحاويات
- اختصارات Docker Compose
3. إضافة Z
تحافظ هذه الإضافة على قاعدة بيانات عن الدلائل التي تم الوصول إليها بشكل متكرر ومؤخراً:
z project # الانتقال إلى الدليل الأكثر تكررًا الذي يتطابق مع 'project'
z -l project # قائمة بجميع المطابقات بدلاً من الانتقال
z -c project # تقييد إلى الدلائل الفرعية للدليل الحالي
يستخدم التنفيذ خوارزمية تقييم موزونة تأخذ في الاعتبار التكرار والحداثة.
4. تمييز بناء الجملة
يجب تثبيته بشكل منفصل:
git clone <https://github.com/zsh-users/zsh-syntax-highlighting.git> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
ثم أضف إلى الإضافات: plugins=(... zsh-syntax-highlighting)
يوفر تمييز بناء جملة في الوقت الحقيقي لـ:
- الأوامر الصالحة (أخضر)
- الأوامر غير الصالحة (أحمر)
- أسماء الملفات
- الخيارات والمعلمات
- السلاسل النصية المقتبسة
5. الاقتراحات التلقائية
تتطلب أيضًا تثبيتًا منفصلًا:
git clone <https://github.com/zsh-users/zsh-autosuggestions> ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
ثم أضف إلى الإضافات: plugins=(... zsh-autosuggestions)
التفاصيل التقنية:
- يقدم اقتراحات للأوامر بناءً على السجل والإكمالات
- يستخدم نظام تقييم لإعطاء الأولويات للاقتراحات
- مفاتيح قبول قابلة للتخصيص (افتراضي: السهم الأيمن)
- استراتيجية اقتراحات قابلة للتعديل
كيفية إنشاء إضافة مخصصة
إنشاء إضافة خاصة بك أمر بسيط:
قم بإنشاء دليل لإضافتك:
mkdir -p ~/.oh-my-zsh/custom/plugins/myplugin
قم بإنشاء ملف الإضافة الرئيسي:
touch ~/.oh-my-zsh/custom/plugins/myplugin/myplugin.plugin.zsh
أضف وظيفتك إلى الملف:
# ~/.oh-my-zsh/custom/plugins/myplugin/myplugin.plugin.zsh
# تعريف الألقاب
alias myalias='أمر معقد مع خيارات'
# تعريف الوظائف
function myfunc() {
echo "تنفيذ عملية معقدة..."
# الكود الخاص بك هنا
}
# إضافة الإكمالات
compdef _gnu_generic myfunc
أضف إضافتك إلى قائمة الإضافات في .zshrc
:
plugins=(... myplugin)
كيفية استكشاف المشكلات الشائعة
أوقات بدء تشغيل بطيئة
إذا كان Oh My Zsh بطيئًا في التحميل:
قم بقياس وقت البدء:
time zsh -i -c exit
حدد الإضافات البطيئة:
# إضافتها في الجزء العلوي من .zshrc
zmodload zsh/zprof
# أضف إلى أسفل .zshrc
zprof
الحلول الشائعة:
- تعطيل الإضافات غير المستخدمة
- استبدال الإضافات الثقيلة بالبدائل الأخف
- تمكين المطلب الفوري من Powerlevel10k
- استخدام تحميل كسول لبعض الوظائف
تعارضات الإضافات
إذا كان هناك تعارضات بين الإضافات:
- قم بتحميل الإضافات المشكلة بترتيب معين عن طريق إعادة ترتيبها في مصفوفة الإضافات
- تحقق من تعارضات الاسم في الألقاب والوظائف
- فكر في استخدام إضافة
aliases
لإدارة الأولويات في الألقاب
مشكلات عرض الثيم
إذا لم يظهر ثيمك بشكل صحيح:
- تأكد من تثبيت خط متوافق (خصوصًا لقوالب Powerline)
- تحقق من دعم الألوان للطرفية (تتطلب معظم الثيمات 256 لونًا)
- تحقق من إعدادات اللغة باستخدام
echo $LANG
(يجب أن يكون UTF-8)
تخصيص متقدم
كيفية التوسع خارج Oh My Zsh
بينما يوفر Oh My Zsh افتراضات ممتازة، يمكنك تخصيص إعدادك أكثر:
- إضافة تكوينات شخصية في
~/.zshrc
بعد سطرsource $ZSH/oh-my-zsh.sh
- إنشاء ملفات مخصصة في
~/.oh-my-zsh/custom/
التي ستتم مصدرها تلقائيًا - استخدم ملف
~/.oh-my-zsh/custom/example.zsh
كنموذج
الدمج مع أدوات أخرى
يعمل Oh My Zsh بشكل جيد مع أدوات إنتاجية طرفية أخرى:
- Tmux لتعدد المهام وإدارة الجلسات
- Neovim/Vim مع الإضافة
vi-mode
لتحرير الأوامر - FZF للبحث الضبابي (يمكن دمجه مع Oh My Zsh عبر إضافة fzf)
- Starship يمكنه استبدال قوالب Oh My Zsh مع الحفاظ على نظام الإضافات
الخاتمة
فهم الفرق بين zsh و Oh My Zsh أمر حيوي لتعظيم تجربتك مع الطرفية. يوفر zsh الأساس — شل قوي مع ميزات متقدمة تتجاوز ما يقدمه bash — بينما يبني Oh My Zsh على هذا الأساس مع إطار شامل من القوالب والإضافات والتكوينات.
لتلخيص الإجابات على أسئلتنا الرئيسية:
- هل zsh و Oh My Zsh هما نفس الشيء؟ لا، zsh هو الشل نفسه، بينما Oh My Zsh هو إطار عمل مبني فوق zsh.
- هل أحتاج إلى تثبيت zsh قبل Oh My Zsh؟ نعم، يجب تثبيت zsh وتعيينه كشل افتراضي قبل تثبيت Oh My Zsh.
- هل Oh My Zsh أفضل من bash؟ هذه مقارنة بين أنواع مختلفة من الأدوات؛ zsh يوفر ميزات أكثر حداثة من bash، و Oh My Zsh يجعل هذه الميزات أكثر سهولة.
- ما هو بالضبط Oh My Zsh؟ إطار عمل مدعوم من المجتمع يزيد من zsh مع الإضافات والقوالب والوظائف المفيدة.
سواء كنت مطورًا يرغب في تحسين الإنتاجية، أو مسؤول نظام يدير الخوادم، أو ببساطة شخص يقضي وقتًا في الطرفية، فإن مجموعة zsh و Oh My Zsh توفر تجربة سطر أوامر قوية وقابلة للتخصيص وممتعة يمكن أن تحسن بشكل كبير سير عملك.
أفضل نهج هو البدء بالأساسيات — تثبيت zsh و Oh My Zsh، وتجربة بعض القوالب والإضافات — وتوسيع تكوينك تدريجيًا بينما تتعلم ما يناسب احتياجاتك المحددة. الطبيعة الوحدوية لـ Oh My Zsh تجعل من السهل التجريب دون كسر إعدادك بالكامل، مما يسمح لك بتطوير بيئة الطرفية الخاصة بك جنبًا إلى جنب مع مهاراتك ومتطلباتك.