OOZOU
تواصلوا معنا
العودة إلى المدونة

اختصروا كل شيء بالـ Aliases لتحسين تجربة التطوير

إن كنتم تنوون البقاء في البرمجة طويلًا، فأنشئوا aliases لكل شيء. صدقوني، سيوفر ذلك على أصابعكم الكثير ويحسّن حياتكم اليومية كمطوّرين.

29 يوليو 2020
4 دقائق للقراءة
اختصروا كل شيء بالـ Aliases لتحسين تجربة التطوير

أعمل في تطوير الويب منذ نحو 15 عامًا، وما زلت أتفاجأ بقلة استخدام الناس للأسماء المستعارة (aliases). أنا أستخدمها لكل شيء، بل لدي دالة bash لإنشاء aliases جديدة في لحظتها. بصفتكم مطوّرين، ستكتبون على لوحة المفاتيح... كثيرًا. ساعدوا أنفسكم بإنشاء aliases لكل الأوامر التي تكتبونها مرارًا وتكرارًا. دعوا الحاسوب يعمل من أجلكم، فلهذا صنعناه أصلًا، أليس كذلك؟

ما هو الـ alias؟

أتحدث هنا تحديدًا عن أوامر الطرفية (terminal)، سواء في bash أو zsh أو حتى git. إعداد الـ aliases بسيط جدًا، وسيوفر عليكم أيامًا من الكتابة على مدى مسيرتكم المهنية، وستشكركم أصابعكم.

كيف أُعدّ الـ aliases؟

شخصيًا لدي ملف واحد لكل الـ aliases الخاصة بـ zsh (والأمر نفسه ينطبق على bash)، أحفظ فيه كل ما يتعلق بها. وفي ملف إعدادات zsh أستدعي هذا الملف بالأمر source، فتصبح الـ aliases متاحة كلما فتحت جلسة طرفية جديدة. لنبدأ أولًا بإنشاء ملف الـ aliases واستدعائه في ملف .zshrc أو .bashrc.

touch ~/.aliases
source $HOME/.aliases

أنصح أيضًا بضبط متغير EDITOR إن لم تكونوا قد فعلتم ذلك بعد. أستخدم macvim على جهازي وvi عند الاتصال عبر ssh، لذلك أضع المقطع التالي في أعلى ملف .zshrc

# ~/.zshrc
if [[ -n $SSH_CONNECTION ]]; then
  export EDITOR=vi
else
  # the -c flag will run the following command when opening the new macvim window
  # the command will return us to iTerm after we close the macvim window
  export EDITOR='mvim -f -c "au VimLeave * !open -a iTerm"'
fi

والآن بعد أن أعددنا ذلك، لننشئ بعض الـ aliases! أول ما أقترحه هو إضافة دالة لإنشاء aliases في لحظتها

# ~/.aliases
addalias() {
  echo 'alias '$1'="'$2'"' >> ~/.aliases
  source ~/.aliases
}

هذه دالة بسيطة جدًا، تأخذ معاملين، وتضيفهما إلى ملف الـ aliases، ثم تستدعي الملف لتضمين الـ alias الجديد في جلسة الطرفية الحالية. على سبيل المثال:

addalias rr "bin/rails routes"

والآن يمكننا تنفيذ

rr | grep users

وهو ما سيجد كل المسارات (routes) التي تحتوي على النص users. استخدام addalias بعد كتابة الأمر نفسه مرارًا أثناء تتبع خطأ أو أداء مهمة متكررة أمر مُرضٍ للغاية

بعض الـ aliases التي أستخدمها أكثر من غيرها

# ~/.aliases
alias la='ls -a'
alias ll='ls -al'

alias zshconfig="$EDITOR ~/.zshrc"
alias ohmyzsh="$EDITOR ~/.oh-my-zsh"
alias vimconfig="$EDITOR ~/.vimrc"
alias sshconfig="$EDITOR ~/.ssh/config"
alias aliases="$EDITOR ~/.aliases"

alias g='git'
alias gx="gitx"

alias push="git push origin HEAD"
alias ppr="push && git pull-request -c"
alias pprm="push && git pull-request -c -m"
alias pr="git pull-request -c"
alias prm="git pull-request -c -m"

alias b='bundle'
alias bi='b install'
alias bu='b update'
alias be='b exec'

alias spring="be spring"
alias sidekiq="bundle exec sidekiq"
alias rspec='be rspec --no-profile'
alias rspecp='be rspec'
alias wds='bin/webpack-dev-server'
alias guard='be guard'

إنشاء aliases لأوامر git

من تجربتي، يعرف معظم المطوّرين إمكانات Git، لكنهم لسبب ما يغفلون عن قدرته على إنشاء الـ aliases. ربما لأن معظم الناس يستخدمون واجهة رسومية، لا أدري، لكن الـ aliases في Git بالنسبة لي أمر لا غنى عنه. وإليكم بعضًا منها

# ~/.gitconfig
[alias]
	a  = add
	aliases = !git config --get-regexp 'alias.*' | colrm 1 6 | sed 's/[ ]/ = /' | sort
	b  = branch
	c  = commit
	cm = commit -m
	ca = commit -C HEAD --amend
	co = checkout
	cp = cherry-pick
	dt = difftool
	l = log
	mt = mergetool
	p  = push
	pr = pull-request -m
	ra = rebase --abort
	rc = rebase --continue
	ri = rebase -i
	rs = rebase --skip
	s  = status

استخدام الـ aliases

أستخدم معظم هذه الاختصارات يوميًا، وبعد فترة تصبح جزءًا من ذاكرة العضلات. وبصفتي مطوّر Ruby، أقضي وقتًا طويلًا في الطرفية، سواء في rails console أو عند عمل commit لعملي. ومع الـ aliases تصبح أوامري أقصر بكثير، مثلًا:

git check-out -b chore/new_branch
g co -b chore/new_branch

bin/rails c
r c

git status
g s

gitx
gx

أستخدمها أيضًا لتعويض معلومات يصعب علي حفظها. لسبب ما لا أتذكر أبدًا مكان ملف إعدادات ssh، لكنني أتذكر الـ alias بسهولة، لذلك أنشأت sshconfig، ولم أعد أحتاج إلى البحث عنه في كل مرة أريد فيها تعديل الملف.

alias sshconfig="$EDITOR ~/.ssh/config"

إن كان هذا الموضوع يثير اهتمامكم، فأنصحكم بشدة بتعلّم شيء من كتابة سكربتات bash أيضًا، فمن المدهش إلى أي مدى يمكنكم الوصول بقليل من المعرفة.

Related Articles

كيف أصمّم برمجيات؟ دليل المبتدئين لأصحاب الأعمال

كيف أصمّم برمجيات؟ دليل المبتدئين لأصحاب الأعمال

تصميم البرمجيات عملية ممتعة لكنها معقدة، تتطلب الإبداع والتفكير المنطقي ومهارات حل المشكلات.

اقرأوا المزيد
مستقبل الحوسبة الطرفية: ما تحتاج الشركات إلى معرفته

مستقبل الحوسبة الطرفية: ما تحتاج الشركات إلى معرفته

يتطور المشهد الرقمي بسرعة، وعلى الشركات أن تتكيّف لتواكب الطلب المتزايد على السرعة والكفاءة والمعالجة في الوقت الفعلي.

اقرأوا المزيد
مستقبل قطاع التجزئة: الذكاء الاصطناعي والواقع المعزّز واتجاهات التحوّل الرقمي

مستقبل قطاع التجزئة: الذكاء الاصطناعي والواقع المعزّز واتجاهات التحوّل الرقمي

يتطور قطاع التجزئة بوتيرة غير مسبوقة بفضل الذكاء الاصطناعي (AI) والواقع المعزّز (AR) وتقنيات التحوّل الرقمي. فلم تعد المتاجر التقليدية مجرد أماكن لبيع المنتجات، بل أصبحت متاجر ذكية وتفاعلية.

اقرأوا المزيد

Have a Project in Mind?

Let's discuss how we can help bring your ideas to life with our expertise in web and mobile development.

ابدأوا المحادثةhello@oozou.com
OOZOU Logo

بانكوك · سنغافورة · هونغ كونغ

X
Facebook
Instagram
LinkedIn
OOZOU Co., Ltd.
548 One City Centre
Ploenchit Road
Bangkok 10330
Thailand
+66 2544 0000
hello@oozou.com

الخدمات

  • تطوير الويب
  • وكلاء الذكاء الاصطناعي والذكاء الاصطناعي التوليدي
  • تطوير تطبيقات الجوال
  • تحليلات البيانات وهندستها
  • تصميم تجربة المستخدم وواجهته (UX/UI) وتصميم المنتجات
  • التحوّل الرقمي

الشركة

  • من نحن
  • الوظائف
  • المدونة
  • دراسات الحالة
  • عروض حية
  • تعلّمت اليوم
  • تواصل معنا

المزيد

  • القطاعات
  • شبكة الشركاء
© 2026 OOZOU. جميع الحقوق محفوظة.
سياسة الخصوصيةمدونة قواعد السلوكسياسة مكافحة الرشوة والفساد