الإعدادات
كل خيارات Zshell الدائمة ووظائفها ومكان تخزينها.
توجد معظم إعدادات Zshell الدائمة في ملف واحد:
~/.config/zshell/config.tomlتكتب نافذة الإعدادات (Cmd+,) في الملف نفسه. توجد إعدادات قليلة يديرها macOS، مثل اللغة والتحديثات التلقائية، في أماكن أخرى موضحة في نهاية هذه الصفحة.
تفعّل الإعدادات الجديدة تلميحات أوامر Vim واستعادة سجل الجلسات وإشعارات الأوامر الفاشلة افتراضيًا. تنزيل التحديثات تلقائيًا مفعّل افتراضيًا أيضًا. تُحفظ الإعدادات الحالية والخيارات المحفوظة.
سلوك الملف
ما ينبغي معرفته قبل تحريره يدويًا:
- تُقرأ التغييرات أثناء التشغيل. تُطبق التعديلات الخارجية الصالحة تلقائياً؛ الإعدادات المخصصة للطرفيات الجديدة تحتاج جزءاً جديداً. يحتفظ الملف غير المقروء أو غير السليم بآخر إعدادات صالحة. يعيد الملف الفارغ عمداً القيم الافتراضية بعد مهلة قصيرة.
- يعيد Zshell كتابة الملف كلما تغيّر إعداد مخزن فيه. يُنشأ الملف من الصفر، لذا تضيع تعليقاتك والمفاتيح غير المعروفة في المرة التالية التي تستخدم فيها أحد عناصر التحكم تلك. اختر وسيلة واحدة لتحرير الملف، أو احتفظ بنسخة مرجعية ضمن ملفات إعداداتك المخفية.
- تُحذف معظم القيم الافتراضية من الملف. تُحفظ
font-size,terminal.vim-command-hints,terminal.restore-history,terminal.notify-on-errorدائمًا. يؤدي حذف أحد مفاتيح الطرفية الثلاثة من ملف موجود إلى تعطيل الميزة؛ ويعيد حذف المفاتيح الأخرى قيمها الافتراضية. - المحلل بسيط عمدًا. يدعم المفاتيح المسطحة والمنقطة وعناوين
[table]وتعليقات#والقيم النصية والرقمية والمنطقية. ولا يدعم المصفوفات أو الجداول المضمنة أو النصوص متعددة الأسطر. - تعود القيم غير الصالحة إلى بدائل آمنة. لا يمنع حجم خارج النطاق أو محرك غير معروف أو اسم سمة مكتوب خطأ تشغيل Zshell.
يحافظ الحفظ على الروابط الرمزية للملفات والمجلدات ويحدّث الهدف ذرياً مع إبقاء أذوناته. لا تعيد التعديلات الخارجية كتابة التعليقات أو المفاتيح المجهولة؛ الحفظ لاحقاً من الإعدادات يعيد إنشاء الملف كما سبق.
ظهور التطبيق
app-presence
"dock" · "dock-and-menu-bar" · "menu-bar" — الافتراضي "dock"
اختر الإعدادات ← عام ← إظهار Zshell في للتبديل فورًا. يعرض "dock" أيقونة Dock فقط، ويعرض "dock-and-menu-bar" الأيقونتين، ويعرض "menu-bar" أيقونة شريط القوائم فقط.
يفتح شريط القوائم مساحة العمل الحالية والطرفية السريعة والإعدادات والتحقق من التحديثات. في وضعي شريط القوائم، يؤدي إغلاق آخر نافذة لمساحة العمل إلى إخفائها مع استمرار الطرفيات والمهام. يعيد فتح مساحة العمل النافذة والمشروع والجلسة نفسها. يظل إغلاق نافذة أخرى أو لوحة أو مشروع ينهي مهامه. يتبع إنهاء إعداد terminal.preserve-sessions، بينما ينهي إنهاء وإيقاف جميع الجلسات كل المهام. يبقى الوضع محفوظًا بعد إعادة التشغيل.
المظهر
theme
"system" · "light" · "dark" — الافتراضي "system"
يختار مظهر التطبيق. يتبع "system" مظهر macOS، بينما يثبت الخياران الآخران Zshell على مظهر واحد.
theme-dark وtheme-light
نص — القيمتان الافتراضيتان "Default Dark" و"Default Light"
سمة الألوان لكل مظهر. تغيّر السمة ألوان لوحات الطرفية وإطار النافذة والأشرطة الجانبية والمحرر وعروض الفروق معًا. تحافظ السمات الافتراضية المدمجة على الشريط الجانبي شبه الشفاف، بينما تلوّنه السمات الأخرى بما يلائم لوحة ألوانها.
تعرض الإعدادات فهرس السمات المختار المشترك بين محركي الطرفية. يجب أن يطابق الاسم المكتوب يدويًا أحد الأسماء المعروضة تمامًا، بما في ذلك حالة الأحرف، وإلا عاد Zshell إلى السمة الافتراضية المقابلة.
toolbar.visibility
"hide" · "auto" · "always" — الافتراضي "hide"
يتحكم في شريط الأدوات المصغر أسفل علامة التبويب النشطة:
- يُبقي
"hide"الشريط خارج النافذة. - يعرضه
"auto"فقط عندما يكون مجلد المشروع مستودع Git. - يُبقي
"always"مدخل Git ظاهرًا في كل مشروع، بما في ذلك حالة لا يوجد مستودع Git.
راجع شريط أدوات Git لمعرفة محتواه.
النص
font-family
نص — الافتراضي ""، أي خط JetBrains Mono المرفق
تستخدم الطرفية والمحرر وعارض الفروق عائلة الخط اللاتيني هذه معًا. حدد اسم عائلة لا اسم نمط: "IBM Plex Mono" وليس "IBM Plex Mono Regular". تعود العائلات غير المعروفة أو غير أحادية العرض إلى الخط الافتراضي المرفق.
ترتيب الخطوط الاحتياطية في الطرفية هو العائلة اللاتينية، ثم عائلة CJK الاختيارية أدناه، ثم Symbols Nerd Font المرفق، ثم خط النظام الاحتياطي الخاص بالمحرك. يواصل المحرر وعارض الفروق استخدام آليات macOS/WebKit الاحتياطية المعتادة.
terminal.font-fallback-family
نص — الافتراضي ""، أي الخط الاحتياطي للمحرك أو النظام
يضيف عائلة CJK مثبتة واحدة إلى سلسلة الخطوط الاحتياطية المرتبة للطرفية. يشمل منتقي الإعدادات العائلات التي تحتوي نماذج من المحارف الصينية أو اليابانية أو الكورية. لا يشترط أن تكون أحادية العرض تمامًا لأنها لا توفر إلا المحارف المفقودة من الخط اللاتيني الأساسي.
font-size
رقم، 8–32 — الافتراضي 13
حجم الخط المشترك للطرفية والمحرر والفروق، بالنقاط. هذا هو المفتاح الوحيد الذي يكتبه Zshell حتى عندما يحمل القيمة الافتراضية.
interface.scale
رقم، 0.9–1.5 — الافتراضي 1
يغيّر مقياس علامات التبويب والأيقونات والأزرار والأشرطة الجانبية وبقية واجهة التطبيق. يحتفظ محتوى الطرفية والمحرر والفروق بحجم الخط المحدد بصورة مستقلة أعلاه.
sidebar.font-size
رقم، 9–24 — الافتراضي 14
الحجم الأساسي للنص في الشريطين الجانبيين. تحافظ عناوين الأقسام والصفوف والبيانات الوصفية وعناصر التحكم على تدرجها النسبي عند تغيير هذا الأساس.
terminal.font-thicken
قيمة منطقية — الافتراضي false
يرسم محارف الطرفية بضربات أثقل قليلًا، على نحو يشبه تنعيم الخط التقليدي في macOS. يطبقه المحركان، وتعرض معاينة الإعدادات النتيجة. تظل إعدادات font-thicken القديمة مقروءة، ثم تُعاد كتابتها باستخدام المفتاح المنقط الحالي.
terminal.font-thicken-strength
عدد صحيح، 0–255 — الافتراضي 255
يتحكم في زيادة السماكة عندما يكون terminal.font-thicken مفعّلًا. الصفر أخف سماكة متاحة، وليس إيقافًا للميزة. يستخدم Ghostty قوة السماكة الأصلية في macOS، بينما يحوّل Alacritty النطاق نفسه إلى ضربة CoreText؛ لذا يتطابق اتجاه التغيير وحدا النطاق، وإن اختلفت البكسلات الناتجة.
terminal.line-height
رقم، 0.75–2 — الافتراضي 1
يضاعف الارتفاع الطبيعي لخلية كل محرك طرفية مع إبقاء المحارف في الوسط عموديًا. يغير صفوف الطرفية فقط، ولا يغير التباعد في المحرر أو الفروق.
لا يوفر Zshell عنصر تحكم في وزن الخط الأساسي. يختار Ghostty الأنماط المسماة أو محاور التباين، بينما يحدد Alacritty/CoreText الخط العادي والعريض من السمات. لن تحافظ قيمة مشتركة واحدة باستمرار على التمييز بين العادي والعريض أو أوزان الخطوط الاحتياطية عبر الخطوط الثابتة والمتغيرة.
editor.wrap-lines
قيمة منطقية — الافتراضي true
يلف الأسطر الطويلة بصريًا لتلائم عرض اللوحة في محرر الملفات. عند إيقافه تُمرَّر الأسطر الطويلة أفقيًا. لا يغير التفاف النص في الطرفية أو عرض الفروق.
الطرفية
terminal.startup-program / terminal.startup-arguments
نصوص — غير محددة افتراضيًا
يختاران الملف التنفيذي ومصفوفة الوسائط المستخدمة في الطرفيات التي تُنشأ بعد ذلك. عند غياب terminal.startup-program، يواصل Zshell استخدام صدفة تسجيل الدخول للحساب مع -l. يجب أن يكون البرنامج مسارًا مطلقًا قابلًا للتنفيذ؛ ويؤدي المسار المفقود أو غير القابل للتنفيذ إلى استخدام صدفة تسجيل الدخول بدلًا من فتح لوحة غير عاملة.
يُقسَّم terminal.startup-arguments إلى وسائط دون استدعاء صدفة. تحافظ علامات الاقتباس والشرطات المائلة العكسية على حدود الوسائط، بما فيها المسافات والوسائط الفارغة، لكن لا تُوسَّع المتغيرات أو أنماط مطابقة الملفات أو بدائل الأوامر. يؤدي الاقتباس غير الصحيح أيضًا إلى العودة إلى صدفة تسجيل الدخول. وتظل الوسائط الصريحة argv المقدمة من واجهة Zshell لسطر الأوامر ذات أولوية لتلك الطرفية.
terminal.backend
"libghostty" · "alacritty" — الافتراضي "libghostty"
يختار المحاكي الذي تستخدمه الطرفيات المنشأة لاحقًا. تحتفظ اللوحات الحالية بالمحرك الذي بدأت به. كلا الخيارين أصلي، ومسرّع بمعالج الرسوميات، ويدعم عرض الصور، ويستخدم سمات Zshell نفسها؛ ويستهلك Alacritty ذاكرة أقل عادةً.
راجع محركات الطرفية لمتغيرات البيئة وقواعد التوافق.
terminal.macos-option-as-alt
قيمة منطقية — الافتراضي false
عند تفعيله تُرسَل مجموعات مفاتيح Option إلى برامج الطرفية كاختصارات Alt/Meta. يترك السلوك الافتراضي Option لمصدر إدخال macOS النشط، لكي تتمكن تخطيطات مثل Polish Pro من كتابة أحرفها المركبة.
terminal.bell
قيمة منطقية — الافتراضي true
يتحكم في صوت التنبيه وجذب الانتباه المرئي في macOS عندما يطلق برنامج طرفية الجرس. عند إيقافه لا يشغّل Zshell الصوت، ولا ينشر إشعار جرس الطرفية، ولا يطلب الانتباه في Dock. تظل تقنيات تسهيل الاستخدام تتلقى الجرس كإعلان دلالي. يلتزم كلا محركي الطرفية بهذا الإعداد.
terminal.vim-command-hints
قيمة منطقية — الافتراضي true
يعرض أوامر Vim وNeovim المناسبة للوضع أسفل معلومات الجلسة في الشريط الجانبي المعلومات. يسري فورًا على كلا محركي الطرفية، بما في ذلك المحررات التي يمكن التعرف عليها عبر SSH. راجع تلميحات أوامر Vim لشروط التعرف على الوضع.
terminal.restore-history
قيمة منطقية — الافتراضي true
يستعيد سجل المخرجات السابق لكل طرفية فوق صدفة جديدة بعد إعادة التشغيل. المحتوى المستعاد نص ثابت، وليس عملية بقيت قيد التشغيل.
يُخزَّن السجل المستعاد على القرص، وقد يتضمن أي أسرار ظهرت في الطرفية. تُستعاد المشاريع وعلامات التبويب وتخطيطات اللوحات في كلتا الحالتين.
الأتمتة
ai.enabled
قيمة منطقية — الافتراضي true
يسمح لوكلاء البرمجة المدعومين بتنسيق لوحات Zshell في الخلفية عندما تطلب ذلك بلغة عادية، ويعرض حالة دورة الحياة التي يبلغ عنها المزود في الواجهة. لا يستنتج Zshell الحالة من نص الطرفية. يُنصح بالتغيير من مفتاح الإعدادات، لأنه يعرض الأخطاء في موضعها ويترك الإعدادات الموجودة المتعارضة دون تعديل.
يشرح قسم العمل مع وكلاء الذكاء الاصطناعي سير العمل للمستخدم.
عند مشاركة app-server الخاص بـ Codex، يطابق Zshell معرّفات المحادثات المتحقق منها مع اللوحة الأمامية. لا تُربط المطابقات الملتبسة. يضيف التكامل المُدار session-id إلى عنوان طرفية Codex مع الاحتفاظ بالعناصر الأخرى.
ai.resume-conversations
قيمة منطقية — الافتراضي true
عند استعادة لوحات الطرفية، يستأنف المحادثة الأصلية المسجلة نفسها في Claude Code أو Codex أو Pi أو OpenCode إذا لم يعد PTY الأصلي متاحًا. يتطلب ai.enabled = true. تفتح اللوحة التي لا تملك محادثة موثقة صدفة جديدة؛ ولا يختار Zshell أحدث محادثة بحسب المجلد.
تتحكم بها من الإعدادات → الأتمتة → استئناف محادثات الوكلاء. وهي مستقلة عن terminal.restore-history.
إعدادات إضافية
| المفتاح | الافتراضي | القيم / النطاق | التأثير |
|---|---|---|---|
app-icon | "default" | "default" / "light" / "dark" | أيقونة التطبيق |
editor.external-editor | "default" | "default" / "vscode" / "zed" / "cursor" | المحرر الخارجي للملفات والمجلدات |
terminal.theme-only | false | قيمة منطقية | تطبيق لوحة الألوان المحددة على الطرفية فقط |
terminal.cursor-shape | "bar" | "bar" / "block" / "underline" | شكل مؤشر الطرفية |
terminal.cursor-blinking | true | قيمة منطقية | جعل المؤشر يومض |
terminal.copy-on-select | true | قيمة منطقية | نسخ نص الطرفية المحدد |
terminal.focus-follows-mouse | false | قيمة منطقية | التركيز يتبع الفأرة |
terminal.shift-enter-newline | true | قيمة منطقية | إرسال تسلسل سطر جديد محسن باستخدام Shift+Enter؛ يتطلب دعم التطبيق |
terminal.background-opacity | 1 | 0.2–1 | عتامة خلفية الطرفية |
terminal.background-blur | false | قيمة منطقية | تمويه الخلفيات شبه الشفافة |
terminal.notify-finish-seconds | 0 | 0 / 5 / 10 / 30 / 60 | إشعار بعد انتهاء أمر استغرق هذه المدة على الأقل في طرفيات zsh الجديدة؛ يعطله 0 |
terminal.notify-on-error | true | قيمة منطقية | إشعار بفشل الأوامر في طرفيات zsh الجديدة |
quick-terminal.mode | "reuse" | "reuse", "fresh" | إعادة استخدام مساحة العمل / مساحة عمل جديدة في كل مرة |
quick-terminal.size | 0.75 | 0.35–0.95 | حجم الطرفية السريعة نسبة إلى الشاشة |
quick-terminal.opacity | 0.5 | 0.05–1 | عتامة خلفية الطرفية السريعة |
quick-terminal.shortcut | Cmd+I | يُسجَّل في الإعدادات | سجّل الاختصار العام في الإعدادات؛ تُحفَظ رموز المفاتيح تلقائيًا |
panes.show-focus-ring | true | قيمة منطقية | إظهار حلقة تركيز حول اللوحة النشطة |
panes.focus-ring-opacity | 0.85 | 0.05–1 | عتامة حلقة التركيز |
النسخ الاحتياطي والنقل
استخدم Zshell → تصدير الإعدادات… لحفظ ملف TOML، واستيراد الإعدادات… لتحميله. يطلب الاستيراد تأكيد الاستبدال، ويحاول نسخ الملف الحالي احتياطيًا باسم config.toml.bak في المجلد نفسه.
يقرأ الاستيراد جميع الإعدادات المدعومة. تستخدم المفاتيح المحذوفة القيم الافتراضية لقارئ الإعدادات؛ ويحتفظ غياب ai.enabled بإعداد الذكاء الاصطناعي الحالي. تُحفظ اللغة ومتغيرات بيئة المشاريع وعلامات التبويب بشكل منفصل.
مثال كامل
theme = "dark"
theme-dark = "Catppuccin Mocha"
theme-light = "Catppuccin Latte"
font-family = "IBM Plex Mono"
font-size = 14
interface.scale = 1.25
sidebar.font-size = 13
toolbar.visibility = "auto"
terminal.font-fallback-family = "PingFang SC"
terminal.font-thicken = true
terminal.font-thicken-strength = 180
terminal.line-height = 1.15
terminal.macos-option-as-alt = false
terminal.bell = false
terminal.startup-program = "/opt/homebrew/bin/fish"
terminal.startup-arguments = "--no-config"
terminal.backend = "alacritty"
terminal.restore-history = true
editor.wrap-lines = true
ai.enabled = true
ai.resume-conversations = trueجميع المفاتيح اختيارية. احذف المفتاح لإعادة إعداده إلى القيمة الافتراضية.
اختصارات لوحة المفاتيح
افتح الإعدادات → الاختصارات لتسجيل اختصار جديد لأمر أساسي. يرفض Zshell المجموعات المتعارضة ويذكر الأمر الذي يستخدمها بالفعل. يعيد استعادة الاختصارات الافتراضية ضبط جميع التخصيصات. يسرد مرجع لوحة المفاتيح الاختصارات المرفقة افتراضيًا.
إعدادات خارج هذا الملف
- اللغة. توفر الإعدادات خيار النظام الافتراضي و17 لغة تطابق الموقع. تسري التغييرات فورًا مع استمرار جلسات الطرفية. يستخدم الاختيار تفضيل اللغة لكل تطبيق في macOS، لذا يُحفظ في تفضيلات Zshell بدل TOML. يتبع خيار النظام الافتراضي ترتيب لغات macOS.
- التحديثات التلقائية. تستخدم مفاتيح الفحص والتنزيل والتثبيت التلقائي في الإعدادات → التحديثات تفضيلات التطبيق خارج TOML، وتتذكر اختياراتك بين مرات التشغيل. يظهر التثبيت فقط أثناء تفعيل التنزيلات التلقائية. راجع التثبيت.
- حالة النافذة والتخطيط. يُحفظ حجم النافذة وعرض الأشرطة الجانبية واللوحات المحددة والمشاريع وعلامات التبويب واللوحات وعناوين المتصفح وتفضيلات عناصر تحكم الفروق في تفضيلات macOS الخاصة بـ Zshell وفي لقطة الجلسة.
- ملفات إعدادات المحركات. لا يقرأ Zshell ملف
~/.config/ghosttyولا إعدادات Alacritty. إعدادات Zshell هي الواجهة المدعومة لضبط كليهما.