Oh My Zsh هو إطار عمل مفتوح المصدر يحركه المجتمع لإدارة تكوين zsh الخاص بك.
يبدو مملا. دعونا نحاول مرة أخرى.
لن يجعلك Oh My Zsh مطورًا 10x...ولكنك قد تشعر أنك مطور.
بمجرد التثبيت، سيصبح الغلاف الطرفي الخاص بك حديث المدينة أو يسترد أموالك! مع كل ضغطة مفتاح في موجه الأوامر، ستستفيد من مئات المكونات الإضافية القوية والموضوعات الجميلة. سيأتي إليك الغرباء في المقاهي ويسألونك: "هذا مدهش! هل أنت عبقري؟"
وأخيرًا، ستبدأ في الحصول على نوع الاهتمام الذي شعرت دائمًا أنك تستحقه. ...أو ربما ستستغل الوقت الذي توفره لبدء استخدام خيط الأسنان بشكل متكرر. ؟
لمعرفة المزيد، تفضل بزيارة ohmyz.sh، وتابع @ohmyzsh على X (Twitter سابقًا)، وانضم إلينا على Discord.
يا/س | حالة |
---|---|
أندرويد | ✅ |
freeBSD | ✅ |
LCARS | ؟ |
لينكس | ✅ |
ماك | ✅ |
نظام التشغيل/2 الاعوجاج | |
ويندوز (WSL2) | ✅ |
zsh --version
للتأكيد)، فتحقق من تعليمات wiki التالية هنا: تثبيت ZSHcurl
أو wget
git
(يوصى بالإصدار 2.4.11 أو أعلى) يتم تثبيت Oh My Zsh عن طريق تشغيل أحد الأوامر التالية في جهازك. يمكنك تثبيت هذا عبر سطر الأوامر باستخدام أداة curl
أو wget
أو أي أداة أخرى مماثلة.
طريقة | يأمر |
---|---|
حليقة | sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
wget | sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
أحضر | sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" |
وبدلاً من ذلك، يتم أيضًا عكس برنامج التثبيت خارج GitHub. بدلاً من ذلك، قد يكون استخدام عنوان URL هذا مطلوبًا إذا كنت في بلد مثل الصين أو الهند (لبعض مزودي خدمة الإنترنت)، والذي يحظر raw.githubusercontent.com
:
طريقة | يأمر |
---|---|
حليقة | sh -c "$(curl -fsSL https://install.ohmyz.sh/)" |
wget | sh -c "$(wget -O- https://install.ohmyz.sh/)" |
أحضر | sh -c "$(fetch -o - https://install.ohmyz.sh/)" |
لاحظ أنه سيتم إعادة تسمية أي .zshrc
سابق إلى .zshrc.pre-oh-my-zsh
. بعد التثبيت، يمكنك نقل التكوين الذي تريد الاحتفاظ به إلى ملف .zshrc
الجديد.
إنها فكرة جيدة أن تقوم بفحص البرنامج النصي للتثبيت من المشاريع التي لا تعرفها بعد. يمكنك القيام بذلك عن طريق تنزيل البرنامج النصي للتثبيت أولاً، ثم البحث فيه حتى يبدو كل شيء طبيعيًا، ثم تشغيله:
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
إذا انتهت مهلة عنوان URL أعلاه أو فشل، فقد يتعين عليك استبدال عنوان URL بـ https://install.ohmyz.sh
لتتمكن من الحصول على البرنامج النصي.
يأتي Oh My Zsh مع مجموعة كبيرة من المكونات الإضافية التي يمكنك الاستفادة منها. يمكنك إلقاء نظرة على دليل المكونات الإضافية و/أو الويكي لمعرفة ما هو متاح حاليًا.
بمجرد اكتشاف مكون إضافي (أو عدة مكونات) ترغب في استخدامه مع Oh My Zsh، ستحتاج إلى تمكينه في ملف .zshrc
. ستجد ملف zshrc في دليل $HOME
الخاص بك. افتحه باستخدام محرر النصوص المفضل لديك وسترى مكانًا لسرد جميع المكونات الإضافية التي تريد تحميلها.
vi ~ /.zshrc
على سبيل المثال، قد يبدأ هذا بالظهور على النحو التالي:
plugins=(
git
bundler
dotenv
macos
rake
rbenv
ruby
)
لاحظ أن المكونات الإضافية مفصولة بمسافات بيضاء (مسافات، علامات تبويب، أسطر جديدة...). لا تستخدم الفواصل بينهما وإلا فسوف تنكسر.
يتضمن كل مكون إضافي مدمج ملف README لتوثيقه. يجب أن يعرض هذا الملف التمهيدي (README) الأسماء المستعارة (إذا كان المكون الإضافي يضيف أيًا منها) والأشياء الجيدة الإضافية المضمنة في هذا المكون الإضافي المحدد.
سوف نعترف بذلك. في وقت مبكر من عالم Oh My Zsh، ربما نكون قد أصبحنا سعداء جدًا بالموضوع. لدينا الآن أكثر من مائة وخمسين سمة مجمعة. تحتوي معظمها على لقطات شاشة على الويكي (نحن نعمل على تحديث هذا!). التحقق منها!
موضوع روبي هو الموضوع الافتراضي. إنها ليست الأكثر روعة. انها ليست أبسط واحد. إنه فقط الشيء الصحيح (بالنسبة له).
بمجرد العثور على القالب الذي ترغب في استخدامه، ستحتاج إلى تعديل الملف ~/.zshrc
. سترى متغير بيئة (بأحرف كبيرة) يبدو كما يلي:
ZSH_THEME= " robbyrussell "
لاستخدام سمة مختلفة، ما عليك سوى تغيير القيمة لتتناسب مع اسم السمة المطلوبة. على سبيل المثال:
ZSH_THEME= " agnoster " # (this is one of the fancy ones)
# see https://github.com/ohmyzsh/ohmyzsh/wiki/Themes#agnoster
ملحوظة
ستشاهد عدة مرات لقطات شاشة لموضوع zsh، وتجربتها، وتكتشف أنها لا تبدو بنفس الشكل بالنسبة لك.
وذلك لأن العديد من السمات تتطلب تثبيت خط Powerline أو خط Nerd حتى يتم عرضها بشكل صحيح. بدونها، ستؤدي هذه السمات إلى ظهور رموز مطالبة غريبة. تحقق من الأسئلة الشائعة لمزيد من المعلومات.
احذر أيضًا من أن السمات تتحكم فقط في الشكل الذي تبدو عليه مطالبتك. هذا هو النص الذي تراه قبل المؤشر أو بعده، حيث ستكتب أوامرك. لا تتحكم السمات في أشياء مثل ألوان نافذة المحطة الطرفية (المعروفة باسم نظام الألوان ) أو خط المحطة الطرفية. هذه هي الإعدادات التي يمكنك تغييرها في المحاكي الطرفي الخاص بك. لمزيد من المعلومات، راجع ما هو موضوع zsh.
افتح نافذة طرفية جديدة ويجب أن تبدو المطالبة كما يلي:
في حالة عدم العثور على موضوع مناسب لاحتياجاتك، يرجى إلقاء نظرة على الويكي للمزيد منها.
إذا كنت تشعر بالغضب، يمكنك السماح للكمبيوتر باختيار واحد عشوائيًا لك في كل مرة تفتح فيها نافذة طرفية جديدة.
ZSH_THEME= " random " # (...please let it be pie... please be some pie..)
وإذا كنت تريد اختيار سمة عشوائية من قائمة السمات المفضلة لديك:
ZSH_THEME_RANDOM_CANDIDATES=(
" robbyrussell "
" agnoster "
)
إذا كنت تعرف فقط السمات التي لا تعجبك، فيمكنك إضافتها بشكل مشابه إلى القائمة المتجاهلة:
ZSH_THEME_RANDOM_IGNORED=(pygmalion tjkirch_mod)
إذا كان لديك المزيد من الأسئلة أو المشكلات، فقد تجد حلاً في الأسئلة الشائعة.
إذا كنت من النوع الذي يحب أن يتسخ يديه، فقد يكون لهذه الأقسام صدى.
قد يرغب بعض المستخدمين في تثبيت Oh My Zsh يدويًا، أو تغيير المسار الافتراضي أو الإعدادات الأخرى التي يقبلها المثبت (يتم توثيق هذه الإعدادات أيضًا في الجزء العلوي من البرنامج النصي للتثبيت).
الموقع الافتراضي هو ~/.oh-my-zsh
(مخفي في الدليل الرئيسي لديك، يمكنك الوصول إليه باستخدام cd ~/.oh-my-zsh
)
إذا كنت ترغب في تغيير دليل التثبيت باستخدام متغير بيئة ZSH
، إما عن طريق تشغيل export ZSH=/your/path
قبل التثبيت، أو عن طريق تعيينه قبل نهاية مسار التثبيت مثل هذا:
ZSH= " $HOME /.dotfiles/oh-my-zsh " sh install.sh
إذا كنت تقوم بتشغيل البرنامج النصي لتثبيت Oh My Zsh كجزء من التثبيت التلقائي، فيمكنك تمرير العلامة --unattended
إلى البرنامج النصي install.sh
. سيكون لهذا تأثير عدم محاولة تغيير الغلاف الافتراضي، ولن يتم تشغيل zsh
أيضًا عند انتهاء التثبيت.
sh -c " $( curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh ) " " " --unattended
إذا كنت في الصين أو الهند أو أي بلد آخر يحظر raw.githubusercontent.com
، فقد يتعين عليك استبدال عنوان URL لـ https://install.ohmyz.sh
حتى يتم تثبيته.
يقبل البرنامج النصي للتثبيت أيضًا هذه المتغيرات للسماح بتثبيت مستودع مختلف:
REPO
(الافتراضي: ohmyzsh/ohmyzsh
): يأخذ شكل owner/repository
. إذا قمت بتعيين هذا المتغير، فسيبحث المثبت عن مستودع على https://github.com/{owner}/{repository}
.
REMOTE
(الافتراضي: https://github.com/${REPO}.git
): هذا هو عنوان URL الكامل لاستنساخ مستودع git. يمكنك استخدام هذا الإعداد إذا كنت تريد التثبيت من تفرع غير موجود على GitHub (GitLab، Bitbucket...) أو إذا كنت تريد الاستنساخ باستخدام SSH بدلاً من HTTPS ( [email protected]:user/project.git
) .
ملاحظة: إنه غير متوافق مع إعداد متغير REPO
. سيكون لهذا الإعداد الأسبقية.
BRANCH
(الافتراضي: master
): يمكنك استخدام هذا الإعداد إذا كنت تريد تغيير الفرع الافتراضي الذي سيتم سحبه عند استنساخ المستودع. قد يكون هذا مفيدًا لاختبار طلب السحب، أو إذا كنت تريد استخدام فرع آخر غير master
.
على سبيل المثال:
REPO=apjanke/oh-my-zsh BRANCH=edge sh install.sh
git clone https://github.com/ohmyzsh/ohmyzsh.git ~ /.oh-my-zsh
~/.zshrc
الموجود لديك cp ~ /.zshrc ~ /.zshrc.orig
يمكنك إنشاء ملف تكوين zsh جديد عن طريق نسخ القالب الذي قمنا بتضمينه لك.
cp ~ /.oh-my-zsh/templates/zshrc.zsh-template ~ /.zshrc
chsh -s $( which zsh )
يجب عليك تسجيل الخروج من جلسة المستخدم الخاصة بك وتسجيل الدخول مرة أخرى لرؤية هذا التغيير.
بمجرد فتح نافذة طرفية جديدة، يجب أن يتم تحميل zsh بتكوين Oh My Zsh.
إذا كان لديك أي عوائق أثناء التثبيت، فإليك بعض الإصلاحات الشائعة.
PATH
الخاص بك في ~/.zshrc
إذا لم تتمكن من العثور على بعض الأوامر بعد التبديل إلى oh-my-zsh
.ZSH
في ~/.zshrc
. إذا كنت تريد تجاوز أي من السلوكيات الافتراضية، فما عليك سوى إضافة ملف جديد (ينتهي بـ .zsh
) في الدليل custom/
.
إذا كان لديك العديد من الوظائف التي تتوافق بشكل جيد معًا، فيمكنك وضعها كملف XYZ.plugin.zsh
في الدليل custom/plugins/
ثم تمكين هذا البرنامج الإضافي.
إذا كنت ترغب في تجاوز وظيفة المكون الإضافي الموزع مع Oh My Zsh، فقم بإنشاء مكون إضافي يحمل نفس الاسم في الدليل custom/plugins/
وسيتم تحميله بدلاً من المكون الإضافي plugins/
.
السلوك الافتراضي في Oh My Zsh هو استخدام BSD ls
في أنظمة macOS وFreeBSD. إذا تم تثبيت GNU ls
(كأمر gls
)، فيمكنك اختيار استخدامه بدلاً من ذلك. للقيام بذلك، يمكنك استخدام التكوين المستند إلى zstyle قبل تحديد المصدر oh-my-zsh.sh
:
zstyle ' :omz:lib:theme-and-appearance ' gnu-ls yes
ملاحظة: هذا غير متوافق مع DISABLE_LS_COLORS=true
إذا كنت تريد تخطي الأسماء المستعارة الافتراضية لـ Oh My Zsh (تلك المحددة في ملفات lib/*
) أو الأسماء المستعارة للمكونات الإضافية، فيمكنك استخدام الإعدادات أدناه في ملف ~/.zshrc
الخاص بك، قبل تحميل Oh My Zsh . لاحظ أن هناك العديد من الطرق المختلفة لتخطي الأسماء المستعارة، حسب احتياجاتك.
# Skip all aliases, in lib files and enabled plugins
zstyle ' :omz:* ' aliases no
# Skip all aliases in lib files
zstyle ' :omz:lib:* ' aliases no
# Skip only aliases defined in the directories.zsh lib file
zstyle ' :omz:lib:directories ' aliases no
# Skip all plugin aliases
zstyle ' :omz:plugins:* ' aliases no
# Skip only the aliases from the git plugin
zstyle ' :omz:plugins:git ' aliases no
يمكنك دمجها بطرق أخرى مع الأخذ في الاعتبار أن النطاقات الأكثر تحديدًا لها الأولوية:
# Skip all plugin aliases, except for the git plugin
zstyle ' :omz:plugins:* ' aliases no
zstyle ' :omz:plugins:git ' aliases yes
كان هناك إصدار سابق من هذه الميزة يستخدم الإعداد أدناه، والذي تمت إزالته:
zstyle ' :omz:directories ' aliases no
بدلاً من ذلك، يمكنك الآن استخدام ما يلي:
zstyle ' :omz:lib:directories ' aliases no
هذه الميزة حاليًا في مرحلة الاختبار وقد تخضع للتغيير في المستقبل. كما أنه غير متوافق حاليًا مع مديري المكونات الإضافية مثل zpm أو zinit، الذين لا يصدرون النص البرمجي init (
oh-my-zsh.sh
) حيث يتم تنفيذ هذه الميزة.
كما أنه ليس على علم حاليًا بـ "الأسماء المستعارة" التي تم تعريفها كوظائف. ومن الأمثلة على ذلك وظائف
gccd
أوggf
أوggl
من البرنامج المساعد git.
تعد وظائف المطالبة غير المتزامنة ميزة تجريبية (تم تضمينها في 3 أبريل 2024) تتيح لـ Oh My Zsh عرض معلومات المطالبة بشكل غير متزامن. يمكن أن يؤدي هذا إلى تحسين أداء العرض الفوري، ولكنه قد لا يعمل بشكل جيد مع بعض الإعدادات. نأمل ألا تكون هذه مشكلة، ولكن إذا كنت ترى مشكلات مع هذه الميزة الجديدة، فيمكنك إيقاف تشغيلها عن طريق تعيين ما يلي في ملف .zshrc الخاص بك، قبل الحصول على مصدر Oh My Zsh:
zstyle ' :omz:alpha:lib:git ' async-prompt no
إذا كانت مشكلتك هي أن موجه git توقف عن الظهور، فيمكنك محاولة إجباره على تعيين التكوين التالي قبل الحصول على مصدر oh-my-zsh.sh
. إذا كان لا يزال لا يعمل، يرجى فتح مشكلة مع حالتك.
zstyle ' :omz:alpha:lib:git ' async-prompt force
افتراضيًا، سيُطلب منك التحقق من وجود تحديثات كل أسبوعين. يمكنك اختيار أوضاع تحديث أخرى عن طريق إضافة سطر إلى ملف ~/.zshrc
الخاص بك، قبل تحميل Oh My Zsh :
التحديث التلقائي دون مطالبة التأكيد:
zstyle ' :omz:update ' mode auto
ما عليك سوى تقديم تذكير كل بضعة أيام، إذا كانت هناك تحديثات متاحة:
zstyle ' :omz:update ' mode reminder
لتعطيل التحديثات التلقائية بالكامل:
zstyle ' :omz:update ' mode disabled
ملاحظة: يمكنك التحكم في عدد المرات التي يبحث فيها Oh My Zsh عن التحديثات من خلال الإعداد التالي:
# This will check for updates every 7 days
zstyle ' :omz:update ' frequency 7
# This will check for updates every time you open the terminal (not recommended)
zstyle ' :omz:update ' frequency 0
يمكنك أيضًا الحد من إسهاب التحديث بالإعدادات التالية:
zstyle ' :omz:update ' verbose default # default update prompt
zstyle ' :omz:update ' verbose minimal # only few lines
zstyle ' :omz:update ' verbose silent # only errors
إذا كنت ترغب في التحديث في أي وقت (ربما أصدر شخص ما للتو مكونًا إضافيًا جديدًا ولا تريد الانتظار لمدة أسبوع؟) ما عليك سوى تشغيل:
omz update
سحر! ؟
يا بلدي Zsh ليس للجميع. سنفتقدك، لكننا نريد أن نجعل هذا الانفصال سهلاً.
إذا كنت تريد إلغاء تثبيت oh-my-zsh
، فما عليك سوى تشغيل uninstall_oh_my_zsh
من سطر الأوامر. سوف يقوم بإزالة نفسه وإعادة تكوين bash
أو zsh
السابق.
قبل أن تشارك في مجتمعنا المبهج، يرجى قراءة قواعد السلوك.
أنا بعيد كل البعد عن كوني خبيرًا في Zsh وأظن أن هناك العديد من الطرق للتحسين - إذا كانت لديك أفكار حول كيفية جعل التكوين أسهل في الصيانة (وأسرع)، فلا تتردد في إرسال طلبات السحب!
نحتاج أيضًا إلى أشخاص لاختبار طلبات السحب. لذا قم بإلقاء نظرة على المشكلات المفتوحة وساعد حيث يمكنك ذلك.
راجع المساهمة لمزيد من التفاصيل.
لدينا (أكثر من) مواضيع كافية في الوقت الحالي. يرجى إضافة المظهر الخاص بك إلى صفحة wiki الخاصة بالمواضيع الخارجية.
لدى Oh My Zsh مجتمع نابض بالحياة من المستخدمين السعداء والمساهمين الرائعين. بدون كل الوقت والمساعدة من مساهمينا، لن يكون الأمر رائعًا.
شكراً جزيلاً!
نحن على وسائل التواصل الاجتماعي:
لدينا ملصقات وقمصان وأكواب قهوة متاحة لك لإظهار حبك لـ Oh My Zsh. مرة أخرى، سوف تصبح حديث المدينة!
تم إصدار Oh My Zsh بموجب ترخيص MIT.
بدأ فريق Oh My Zsh في Planet Argon، وهي وكالة تطوير Ruby on Rails. تحقق من مشاريعنا الأخرى مفتوحة المصدر.