استخدام Zsh و Oh-My-Zsh مع تخصيص الـ Aliases لزيادة سرعة الكتابة


أهلاً يا محترف! اليوم راح نغوص سوا في عالم Zsh و Oh-My-Zsh وكيف نستخدم الـ Aliases عشان تصير كتابتك على الطرفية أسرع من البرق.

ليش Zsh و Oh-My-Zsh بالذات؟

ببساطة، Zsh هو قشرة (shell) أقوى وأذكى من Bash اللي يجي بشكل افتراضي في معظم توزيعات لينكس. عنده ميزات رهيبة زي الإكمال التلقائي المتقدم، تصحيح الأوامر، والعديد من التحسينات. ولما تضيف عليه Oh-My-Zsh، هذا يصير مثل "إطار عمل" يخليك تدير إعدادات Zsh، الثيمات، والإضافات (plugins) بكل سهولة. يعني، قوة Zsh مع سهولة استخدام Oh-My-Zsh.

الخطوة الأولى: تثبيت Zsh

إذا ما كان Zsh مثبت عندك، الأمر بسيط حسب توزيعتك:

في Debian/Ubuntu:

sudo apt update
sudo apt install zsh

في Fedora/CentOS:

sudo dnf install zsh

في Arch Linux:

sudo pacman -S zsh

الخطوة الثانية: جعل Zsh هو الـ Shell الافتراضي

بعد ما ثبتنا Zsh، لازم نخليه الـ shell الافتراضي عشان يشتغل كل مرة تفتح فيها الطرفية. استخدم الأمر chsh (change shell):

chsh -s $(which zsh)

ملاحظة: بعد هذا الأمر، لازم تسجل خروج (logout) ثم تسجل دخول (login) مرة ثانية عشان يتفعل التغيير، أو ببساطة أعد تشغيل الطرفية.

الخطوة الثالثة: تثبيت Oh-My-Zsh

هذا الجزء اللي يخلي الـ Zsh حقك "ذكي" و "جميل". تقدر تثبته باستخدام curl أو wget:

باستخدام curl:

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)"

بعد التثبيت، راح يفتح لك ملف الإعدادات ~/.zshrc تلقائياً. هذا الملف هو قلب إعدادات Zsh و Oh-My-Zsh.

الثيمات والإضافات (Themes & Plugins)

Oh-My-Zsh يجي مع مجموعة كبيرة من الثيمات والإضافات. عشان تغير الثيم، افتح ملف ~/.zshrc وابحث عن السطر ZSH_THEME="robbyrussell" (هذا الثيم الافتراضي). تقدر تغيره لأي ثيم يعجبك، مثلاً agnoster أو powerlevel10k (هذا الأخير يحتاج خطوات تثبيت إضافية ولكن يستحق العناء).

أما الإضافات، فهي اللي تعطيك قوة حقيقية. ابحث عن السطر plugins=(git) في ملف ~/.zshrc. تقدر تضيف أي إضافات تحتاجها داخل الأقواس، مفصولة بمسافات. بعض الإضافات المفيدة:

  • git: إكمال تلقائي لأوامر Git واختصارات مفيدة.
  • zsh-autosuggestions: يقترح عليك الأوامر بناءً على تاريخ الأوامر السابقة. (يحتاج تثبيت يدوي)
  • zsh-syntax-highlighting: يلون الأوامر في الطرفية عشان تشوف إذا كنت كاتبها صح قبل التنفيذ. (يحتاج تثبيت يدوي)

لتثبيت zsh-autosuggestions و zsh-syntax-highlighting:

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

وبعدين ضيفهم لملف ~/.zshrc بالشكل هذا:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

ملاحظة: بعد أي تعديل في ملف ~/.zshrc، لازم تسوي source ~/.zshrc أو تفتح طرفية جديدة عشان تتفعل التغييرات.

تخصيص الـ Aliases (الاختصارات)

وهنا مربط الفرس لزيادة سرعتك! الـ Aliases هي اختصارات لأوامر طويلة أو متكررة. بدل ما تكتب أمر طويل كل مرة، تكتب اختصار بسيط.

عشان تضيف Alias، افتح ملف ~/.zshrc (تقدر تستخدم nano ~/.zshrc أو vim ~/.zshrc) وانزل لآخر الملف. ضيف الـ Aliases اللي تبغاها بهذا الشكل:

# Aliases مخصصة
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'
alias home='cd ~'
alias update='sudo apt update && sudo apt upgrade -y' # لـ Debian/Ubuntu
alias config='nano ~/.zshrc'
alias reload='source ~/.zshrc'
alias gits='git status'
alias gitc='git commit -m'
alias gitp='git push'
alias gd='grep -Rni' # بحث متكرر مع رقم السطر
alias myip='curl ifconfig.me'

كمثال، لما تكتب ll وتضغط Enter، كأنك كتبت ls -alF. تخيل كمية الوقت اللي بتوفره!

ملاحظة: اختر Aliases منطقية وسهلة التذكر عشان ما تخربط. وتقدر طبعاً تعدلها حسب احتياجاتك. بعد إضافة Aliases جديدة، لا تنسى تسوي source ~/.zshrc عشان تتفعل.

الخلاصة

بكذا تكون حولت طرفيتك العادية إلى محطة عمل خارقة! Zsh مع Oh-My-Zsh والإضافات المناسبة، بالإضافة إلى الـ Aliases المخصصة، راح يخلونك تتفاعل مع النظام بسرعة وكفاءة لم تتخيلها. استمتع بتجربتك الجديدة!