
قصة قصيرة طويلة ، أنا أتابع emacs لعملتي اليومية ، لذلك كنت بحاجة إلى تكوين سريع ومستقر يناسب احتياجاتي. تتغير MinemaCs باستمرار ، يرجى الرجوع إلى سجل التغيير لمزيد من المعلومات. انظر أيضًا قائمة وحدات وحزم Minemacs.
ملحوظة
يرجى ملاحظة أنه ليس لدي أي نية أو توافر لإنشاء بديل لتهوية emacs أو spacemaCs. على الرغم من أنني أجد الفرح (مثل كل emacser الأخرى هناك) في العبث مع emacs ، تظل MinemaCs مجرد أداة أستخدمها في عملي اليومي ، وأود أن أشاركها مع emacsers الأخرى.
Minemacs يأتي مع البطاريات المدرجة. فيما يلي بعض ميزاتها الفريدة:
تأجيل حزم التحميل حتى يحتاج المستخدم إليها. أو ، بالنسبة للحزم التي يجب تحميلها ، حاول القيام بذلك بعد بدء emacs.
يتم تجميع الحزم في وحدات ، مع القليل من الغراء لجعلها تعمل معًا.
يتضمن MinemACs عددًا كبيرًا من الأزياء الرئيسية والحزم للعمل مع لغات البرمجة. ومع ذلك ، فإن غالبية هذه الحزم لا يتم تحميلها عند بدء التشغيل. يستخدم Minemacs نظامًا عند الطلب لتحميل الحزم فقط عندما يفتح المستخدم ملفًا مدعومًا ، أو عندما يفتح مخزن مؤقتًا مع وضع يمكن تمديده بواسطة إحدى الوحدات النمطية عند الطلب. سلوك هذه الميزة مخصصة من خلال وضع minemacs-on-demand-enable-auto-mode ، minemacs-on-demand-enable-magic-mode ، minemacs-on-demand-enable-interpreter-mode minemacs-on-demand-enable-companion-packages .
افتح قذيفة وركض:
git clone --recursive https://github.com/abougouffa/minemacs.git ~ /.emacs.d && emacs من خلال تنفيذ هذا الأمر ، سيتم استنساخ المستودع ، وسيتم إطلاق emacs. أثناء التشغيل الأولي ، ستقوم EMACs بتثبيت الحزم اللازمة تلقائيًا. قد تحتاج إلى تشغيل Mx minemacs-run-build-functions عندما يتم تحميل EMACs لتثبيت بعض الأشياء الإضافية (قم ببناء بعض المكتبات ، وتثبيت خطوط الطالب الذي يذاكر كثيرا ، وما إلى ذلك)
مهم
يرجى ملاحظة أنني أستخدم EMACs Fresh 30.0.92 (الإصدار الموصى به) تم بناؤه من فرع emacs-30 بشكل رئيسي على أجهزتين ، واحد يعتمد على Manjaro Linux والآخر على Debian 12. ومع ذلك ، قمت بإعداد بعض إجراءات Github CI الأساسية التي تختبر تلقائيًا تشغيل هذا التكوين على EMACs 29 و 30 و 31 في Ubuntu Linux و EMACS. تضمن هذه الإجراءات أن minemacs "يمكن تشغيلها" على هذه الأنظمة ؛ مع تمكين جميع وحداتها. ومع ذلك ، ينبغي إجراء مزيد من الاختبار للتحقق من صحة التكوين بشكل صحيح على أنظمة أخرى غير Linux.
لتخصيص minemaCs ، يمكنك إضافة مجموعة محددة من الملفات ضمن دليل تكوين المستخدم الافتراضي ، والذي يقع افتراضيًا في ~/.minemacs.d/ أو .emacs.d/user-config/ (الأول يمكن العثور عليه). ومع ذلك ، إذا كنت تفضل استخدام دليل مختلف ، فلديك المرونة للقيام بذلك عن طريق تعيين متغير بيئة MINEMACSDIR .
هناك ملفان رئيسيان يمكن إضافتهما في دليل ~/.minemacs.d :
~/.minemacs.d/modules.el على قائمة بالوحدات النمطية الممكّنة و/أو قائمة من الحزم المعوقة ( minemacs-modules ومجموعة minemacs-disabled-packages المعمول بها في هذا الملف). لذلك إذا كنت ترغب في تمكين وحدة me-prog ts-movement على سبيل المثال minemacs-disabled-packages~/.minemacs.d/config.el على تكوين المستخدم وتخصيصه ، يمكنك التفكير في الأمر على أنه init.el ، والذي يتم تحميله في نهاية init.el minemacs! config.el هذا المستودع على ملفات هيكل عظمي modules.el skel/ نوصي بشدة باتباع نفس الهيكل كما في ملفات الهيكل العظمي ، وخاصة استخدام use-package with-eval-after-load والاستخدام بدلاً من استخدام require مباشرة ( require تحميل الحزم على الفور ، مما يزيد من وقت بدء التشغيل من EMACs).
في سير العمل الخاص بي ، أستخدم بشكل أساسي نفس ملفات التكوين عبر جميع أجهزتي (والتي ، بعد التقليد ، يتم مشاركتها في مستودع DotFiles الخاص بي). ومع ذلك ، لدي بعض التكوينات الخاصة بالآلة (المحلية) التي تحتوي على بعض التكوينات الخاصة والآلة الخاصة. على سبيل المثال ، أستخدمها في الكتابة فوق عنوان البريد الإلكتروني على محطة العمل الخاصة بي ، لإعداد حسابات البريد الإلكتروني الخاصة بي ، لإعداد تكامل Forge و JIRA في محطة العمل الخاصة بي ، وما إلى ذلك.
لهذا الغرض ، ستقوم MinemaCs أيضًا بالتحقق من الملفات في ~/.minemacs.d/local/{early-config,init-tweaks,modules,config}.el وتحميلها ، بعد ~/.minemacs.d/{early-config,init-tweaks,modules,config}.el .
يوفر MinemaCs أيضًا بعض ملفات التخصيص المتقدمة ، ويمكن استخدام هذه الملفات لتعديل سلوك Minemacs ، وإضافة بعض رمز التهيئة المبكرة ، وجعل minemacs قابلة للتشغيل على إصدارات emacs الأقدم ، إلخ.
~/.minemacs.d/early-config.el في نهاية minemacs ' early-init.el . يمكنك استخدامه لإعداد بعض الأشياء المبكرة مثل تغيير واجهة المستخدم ، والكتابة فوق المتغيرات التي وضعتها minemaCs في ~/.emacs.d/early-init.el ، وهكذا.~/.minemacs.d/init-tweaks.el في مرحلة مبكرة من ملف init.el يمكنك استخدامه للقيام ببعض الأشياء المفيدة قبل أن تبدأ MinemaCs في تخصيص الحزم وتحميل الوحدات النمطية. انظر التعليقات في init.el لمزيد من المعلومات.يمكنك تخصيص سلوك Minemacs عبر بعض متغيرات البيئة.
MINEMACS_DIR أو MINEMACSDIR : Path for Minemacs دليل تكوين مستخدم Minemacs ، إن لم يتم تعيينه ، ~/.minemacs.d/ يتم استخدامه.MINEMACS_MSG_LEVEL : تغيير مستوى سجل الرسائل ، من 1 (أخطاء فقط) إلى 4 (جميع الرسائل).MINEMACS_VERBOSE : كن أكثر مطوّلة (مفيدة لتصحيح الأخطاء).MINEMACS_DEBUG : تمكين تصحيح الأخطاء عند بدء التشغيل (ويكون مطوّلة).MINEMACS_ALPHA : تعيين background-alpha الإطار إلى النسبة المئوية (القيمة من 0 إلى 100).MINEMACS_NOT_LAZY : تحميل حزم كسول مباشرة بعد تحميل emacs.MINEMACS_ALWAYS_DEMAND : قم بتحميل جميع الحزم على الفور (هذا يعمل عن طريق إعداد use-package-always-demand إلى t و use-package-always-defer إلى nil (افتراضيًا ، يقوم minemaCs بتعيين use-package على التأجيل دائمًا ، ما لم يتم صريح :demand ).MINEMACS_IGNORE_USER_CONFIG : قيم مفصولة بالفضاء ، تستخدم لتعطيل تحميل ~/.minemacs.d/<file>.el ملفات تكوين المستخدم. القيم المقبولة لـ <file> هي: early-config ، init-tweaks ، modules ، config ، local/early-config ، local/init-tweaks ، local/modules النمطية local/config . استخدم all لتعطيل جميع ملفات تكوين المستخدم.MINEMACS_LOAD_ALL_MODULES : تحميل جميع الوحدات (دون أخذ ~/.minemacs.d/modules.el في الاعتبار).MINEMACS_BENCHMARK : قم بتشغيل معيار عند تهيئة EMACs (باستخدام benchmark-init.el ) وعرض النتائج بعد بدء التشغيل (بما في ذلك الحزم البطيئة).MINEMACS_NO_PROXIES : تعيين إذا كان لديك إعداد minemacs-proxies في early-config.el الخاص بك ، لكنك تريد أن تبدأ emacs دون أن تمر عبر هذه الوكلاء (مفيد إذا كنت تستخدم بعض الوكلاء لمكان العمل ولكنك تريد أن تبدأ emacs دون أن تمر بها لتتمكن من تنزيل الحزم). لمزيد من المعلومات حول متغيرات التخصيص والوظائف والأوامر المحددة بواسطة minemaCs ، يمكنك الرجوع إلى الوثائق التي تم إنشاؤها من الرمز المصدر.
إذا واجهت مشكلة مع MinemaCs ، فيمكنك إلقاء نظرة على الأسئلة الشائعة أو استشارة المناقشات أو التحقق من المشكلات المفتوحة أو فتح مشكلة جديدة.