الأوامر السريعة والترمينال
بتنزل مع المشروع
نادرًا هتبدأ بقايمة فاضية. XTop بيقرا ملفات المشروع نفسه وبيحوّل اللي يلاقيه لأوامر جاهزة — فأي مشروع تستورده تلاقي npm run dev موجودة في قايمته من غير ما تكتب حاجة.
بتتاخد منين
| الملف في المشروع | بيطلّع أنهي أوامر |
|---|---|
package.json | كل entry تحت scripts، ما عدا الـ lifecycle hooks بتاعة npm نفسها (postinstall و prepare …) |
composer.json | كل entry تحت scripts، ما عدا الـ hooks بتاعة composer (pre- و post-) |
artisan | php artisan serve و php artisan migrate |
Makefile | كل target |
pyproject.toml | الـ entry points اللي تحت [project.scripts] أو [tool.poetry.scripts] — ولو مفيش، بيعرض install و test |
go.mod | go run . و go build ./... و go test ./... |
Cargo.toml | cargo run و cargo build و cargo test |
docker-compose.yml (أو compose.yaml) | compose up و compose down و compose logs |
الأداة بتتحدد من ملف الـ lock بتاعك. الـ script اللي في package.json بيبقى pnpm dev لو في pnpm-lock.yaml، و yarn dev مع yarn.lock، و bun run dev مع lock بتاع bun، و npm run dev لو مفيش. ولو في حقل packageManager فهو اللي بيتنفّذ قبل أي حاجة. وبايثون نفس الحكاية: uv run مع uv.lock، و poetry run مع poetry.
وكل أمر مكتوب جنبه الملف اللي جه منه، فلو عندك npm run test و make test مع بعض تقدر تفرّق بينهم.
إمتى بيسألك وإمتى لأ
- وإنت بتستورد فولدر — خيار إضافة الأوامر الموجودة في كل مشروع بيبقى متعلّم من الأول، والفحص بيوريك عدد الأوامر جنب كل مشروع، وكل اللي اتلاقى بيتضاف.
- وإنت بتضيف أو بتعدّل مشروع — القايمة بتظهر قدامك وكلها متعلّمة، وإنت تشيل العلامة عن اللي مش عايزه.
- في أي وقت تاني — زرار اكتشاف الأوامر جوه إدارة الأوامر… بيقرا المشروع من أول وجديد.
ومفيش حاجة بتتضاف مرتين. لو المشروع فيه أمر بنفس السطر بيتساب زي ما هو، فلما تشغّل الاكتشاف تاني على مشروع قديم، بيضيف بس الـ scripts اللي ظهرت بعد كده.
والأوامر الجديدة بتتضاف كأوامر خاصة وبتشتغل في المكان الافتراضي بتاع المشروع. وتقدر تغيّر الاتنين بعدين زي أي أمر تاني.
بيقرا بس، عمره ما بيشغّل
الاكتشاف بيقرا الملفات وخلاص — مفيش أي حاجة في مشروعك بتتنفّذ. ولو في ملف مش قادر يقراه (package.json فيه فاصلة زايدة مثلًا)، بيعدّي عليه والباقي بيتقرا عادي. والحد الأقصى ٤٠ أمر من المشروع الواحد.
تلات نطاقات
كل أمر بيبقى في نطاق واحد، والنطاق هو اللي بيحدد يظهر فين:
| النطاق | بيظهر في | متخزّن على |
|---|---|---|
| خاص | مشروع واحد | المشروع نفسه |
| مجموعة | كل مشاريع المجموعة دي | المجموعة |
| عام | كل المشاريع | مرة واحدة في المستوى الأعلى |
الأوامر العامة بتتحفظ مرة واحدة مش متكرّرة في كل مشروع، فلما تعدّل npm install بيتغيّر في كل مكان مرة واحدة.

تقدر تتحكم فيهم لكل مشروع من ⌘ ← إدارة الأوامر…، أو لمجموعة كاملة من زرار ⌘ اللي في عنوان المجموعة.
وكل أمر ليه اسم (اللي بتشوفه)، وسطر الأمر نفسه، ومكان التشغيل: المكان الافتراضي بتاع المشروع، أو PowerShell، أو cmd، أو Git Bash، أو WSL، أو نافذة ترمينال بره البرنامج.
وجوه النافذة دي:
- مربع بحث بيفلتر النطاقات التلاتة مع بعض، فمشروع فيه تلاتين أمر تلاقي اللي عايزه فيه بحرف واحد.
- ▶ تشغيل هنا على أي سطر بيشغّله من النافذة على طول، من غير ما تقفلها وترجع للصف.
تشغيل أمر
الضغط على أمر بيفتح نافذة الترمينال ويبدأ جلسة.

- تبويب لكل جلسة. التنقّل بين التبويبات مش بيضيّع حاجة — كل جلسة محتفظة بمخرجاتها كاملة.
- النقطة هي الحالة. خضرا طول ما العملية شغالة، ورمادية لما تنتهي.
- ■ إيقاف بيقتل الأمر الشغّال؛ التبويب ومخرجاته بيفضلوا مكانهم.
الـ shell بيتبع بيئة المشروع: wsl.exe -d <distro> --cd <path> لمشاريع WSL، و PowerShell لمشاريع ويندوز.
تفتح ترمينال من غير ما تشغّل حاجة
مش لازم تشغّل أمر عشان تجيب shell. زرار + في شريط التبويبات بيفتح ترمينال فاضي في نفس مشروع التبويب اللي إنت فيه — وده استخدامه الأغلب.
وزرار + بينسخ التبويب اللي إنت فيه بالـ shell بتاعه: + من لوحة PowerShell هتديك لوحة PowerShell تانية، حتى لو المشروع نفسه متظبّط على WSL.
والسهم اللي جنبه بيفتح قايمة تختار منها مكان تاني:
- اكتب عشان تدوّر على أي مشروع بالاسم أو الاسم البديل أو المجموعة.
- Root بيديك shell في فولدر الهوم بتاعك، مش تابع لأي مشروع.
اختار الـ shell
على ويندوز، القايمة بتبدأ بصف فيه الـ shells.

| الاختيار | بيشتغل في |
|---|---|
| افتراضي المشروع | اللي بيئة المشروع بتقوله — ويندوز أو WSL |
| PowerShell و cmd و Git Bash | الـ shell ده، مهما كان المشروع بيقول إيه |
| WSL | التوزيعة الافتراضية بتاعتك، في فولدر المشروع |
اختار shell، وبعدين اختار مشروع. أو اضغط على الـ shell اللي اخترته تاني يفتح على طول في المشروع اللي إنت جاي منه — وده الحالة الأشهر: نفس الفولدر، shell مختلف.
وWSL بيفضل في الصف بس باهت لما ميكونش متاح؛ قرّب منه الماوس يقولك السبب.
وعلى أي نظام غير ويندوز في shell واحد بس، فالصف بيتخبّى.
افتح التبويب في shell تاني
كل تبويب شايل علامة صغيرة باسم الـ shell اللي شغّال فيه. والعلامة دي زرار.

اضغط عليها واختار shell تاني، ونفس الفولدر هيتفتح هناك. والتبويب بيفضل في نفس مكانه في الشريط.
التبويب بيقفل ويفتح من تاني
مينفعش تغيّر الـ shell وهو شغّال. اختيار واحد تاني بيقفل الجلسة ويبدأ واحدة جديدة، يعني اللي كان على الشاشة بيضيع — وأي حاجة لسه شغّالة بتقف.
ولو الـ shell ما قدرش يشتغل — WSL مش متثبّت، أو التوزيعة مش موجودة، أو الفولدر اتنقل — الترمينال بيقولك السبب، بنفس الكلام اللي اللوحة كانت هتقوله.
جلسات حقيقية
دي ترمينالات حقيقية مش نوافذ عرض: تقدر ترد على سؤال، وتضغط Ctrl+C، وتشغّل vim لو عايز.
وعلى الأجهزة النادرة اللي الجزء التفاعلي ما يشتغلش عليها، البرنامج بيعرض المخرجات بس من غير كتابة — وبيقولك كده في شريط فوق، عشان ماتفضلش تستغرب الكيبورد مش بيعمل حاجة ليه.
اقتراحات وانت بتكتب
من تاني حرف، الترمينال بيعرض عليك أوامر عندك خلاص. القايمة بتتجمّع من كل أمر محفوظ في أي مكان في البرنامج ومن كل حاجة كتبتها قبل كده — مش بتاعة المشروع ده بس. الأمر اللي محتاجه دلوقتي غالبًا هو اللي شغّلته في المشروع اللي جنبه، فمفيش فلترة بالمشروع؛ بدل كده مكتوب جنب كل سطر جاي منين.
بيظهر ٦ على الأكتر. اللي بيبدأ بنفس اللي كتبته بييجي الأول، وبعدين الأوامر المحفوظة قبل اللي اتكتبت مرة وخلاص. ولما السطر المحدَّد يبدأ بالظبط باللي كتبته، باقي الأمر بيبان باهت عند المؤشر.
| المفتاح | الوظيفة |
|---|---|
| ↑ / ↓ | التنقّل في القايمة |
| Tab | ياخد الأمر المحدَّد |
| Ctrl+Shift+→ | ياخد كلمة واحدة منه، عشان تكمّل الباقي بنفسك |
| Esc | يقفل القايمة |
Enter بيفضل بتاع الـ shell لحد ما تحرّك التحديد بإيدك فعلًا — قايمة انت مش وارد عليها المفروض ماتبلعش الأمر اللي انت كاتبه.
والقايمة بتقفل لوحدها أول ما اللي البرنامج فاكر إنك كتبته يختلف عن اللي ظاهر على الشاشة — بعد ما الـ prompt يترسم من أول، أو إكمال من الـ shell، أو PSReadLine يعيد كتابة السطر. أحسن ما يخمّن غلط.
اللي بيتسجّل
آخر ٣٠٠ أمر بيتحفظوا، الأحدث الأول، في ملف بيانات البرنامج — مش في تاريخ الـ shell بتاعك. وأي حاجة أقل من ٣ حروف بتتجاهَل.
تمنع أمر إنه يتسجّل
ابدأ السطر بـ مسافة ومش هيتسجّل خالص — نفس العُرف اللي في bash. مفيد لأمر مرة واحدة فيه توكن أو باسورد.
المفاتيح جوه الترمينال
| المفتاح | الوظيفة |
|---|---|
| Ctrl+C | بينسخ لو في نص محدد؛ ومن غير تحديد بيوقّف الأمر الشغّال، وده استخدامه الأشهر |
| Ctrl+Shift+C | بينسخ دايمًا |
| Ctrl+V | لصق |
| Ctrl+كليك على رابط | يفتحه في المتصفح. Ctrl مطلوب عمدًا، عشان لما تسحب تحديد فوق رابط ما يفتحش متصفح |
