اذهب إلى المحتوى

تعرف على محرر النصوص إيماكس Emacs


Heidi Melhem

صُمِّم محرر النصوص إيماكس Emacs لأنظمة تشغيل بوزيكس POSIX وهو متاح لكل من لينكس Linux وماك mac وويندوز Windows ونظام بي إس دي BSD، تتباين الآراء حوله فهو المحرر المفضل للكثيرين بسبب امتلاكه أوامر فعالة تطورت باستمرار لمدة 40 عامًا والتي تكسبه العديد من المزايا مثل إضافة الملحقات وتعديل إعدادات الضبط وتنفيذ الإجراءات الشائعة والمعقدة، بينما يعتبره آخرون محرر نصوص معقّد وغامض لأنه محرر قديم جرى تطويره قبل وجود مصطلحات الحاسوب الحديثة فهو يستخدم مصطلحات مثل "زُر visit" بدلًا من "افتح opening" ومصطلح "اكتب write" بدلًا من "احفظ save".

لا يمكن اتخاذ قرار حوله بهذه السرعة، لذا يساعدك هذا المقال بالاطلاع على كل تفاصيله وخصائصه.

مشروع جنو إيماكس GNU Emacs

في الفترة الأولى للحوسبة لم تكن معالجات الكلمات موجودة على الإطلاق وكانت محررات النصوص بالكاد موجودة، حيث أن محرر النصوص هو في الأساس معالج كلمات بدون أي مزايا مثل تنسيق وتصميم الصفحة أو تغيير نوع الخط وكانت بدائية لدرجة أنها لا تفتح حتى مستند نصي كامل مرة واحدة.

كان محرر النصوص عبارة عن أمر برمجي يؤدي وظائف محددة مثل توليد كلمات وإضافتها إلى ملف نصي أو البحث عن كلمات معينة في الملف واستبدالها بكلمات أخرى أو إزالة أسطر من ملف، أي يلزم وقت طويل لتنفيذ عدة أوامر وبذلك يصبح تحرير المستندات الكبيرة عملية مملة، لذلك بدأ الأشخاص في تطوير ماكرو macros وهي تعليمة جامعة لأداء المهام الشائعة ذات الصلة، حيث أصدر د. ريتشارد ستالمان Richard Stallman في عام 1983 مجموعة من الماكرو الخاصة به تحت اسم ماكرو التحرير أو emacs للاختصار.

عندما بدأ د. ستالمان مشروع جنو أصبح Emacs أحد أكثر تطبيقاته نجاحًا وامتلك إيماكس عدة إصدارات ولكن GNU Emacs هي النسخة الأكثر شيوعًا.

خصائص المحرر Emacs

يمتلك إيماكس العديد من الخصائص التي تجعله خيارًا مفضلَا للكثيرين من مختلف التخصصات والاهتمامات، من أهمها أنه مجاني وغيرها من الخصائص نذكرها تاليًا.

قلة استهلاك موارد النظام

إيماكس صغير الحجم بالمقارنة مع محررات البرمجة الحديثة التي تستخدم محركات متصفح الويب وخوادم جافا سكريبت كواجهة خلفية لها، ويعد محرر بسيط مكتوب بلغتي سي C وليسب Lisp لذا لا يكاد يستهلك شيئًا من موارد النظام مع أنه يفعل أكثر بكثير من مجرد تحرير النص مما يجعله أداة مهمة.

الاعتماد على مجموعات لوحة المفاتيح

يستخدم إيماكس مجموعات لوحة مفاتيح تختلف اختلافًا جوهريًا عن الطريقة التي تستخدمها المحررات الحديثة، وهذا لأنه مصمم ليكون مرنًا في كيفية استخدامه وخاصةً ضمن الأجهزة التي لا تحتوي على لوحات المفاتيح التقليدية وعبر الشبكات التي قد لا تنقل مفاتيح التعديل مثل Ctrl و Alt بشكل صحيح.

تعتمد هذه المجموعات على مفتاحي Ctrl و Alt، يتم تمثيل مفتاح Ctrl في التوثيق على أنه C ومفتاح Alt على أنه M (لأنه قبل أن يسمى Alt كان يطلق عليه اسم "Meta").

لاستخدام مفتاح آخر مع مفتاح Ctrl، تُكتب التعليمة بالصيغة C-x (بمعنى Ctrl + X) أو بالصيغة C-c (بمعنى Ctrl + C)، وينطبق الأمر نفسه على مفتاح Alt فإن التعليمة M-xتعني الضغط على مفتاحي Alt-X.

تكون بعض مجموعات لوحة المفاتيح عبارة عن تسلسل من مجموعات أبسط، فمثلًا لفتح ملف نكتب C-x للدخول إلى وضع الأوامر ثم C-f للعثور على الملف المطلوب فتحه، ولتقسيم نافذة التحرير أفقيًا (تسمى المخزن المؤقت buffer في Emacs)، نضغط على C-x ثم الرقم 2.

ارتباطات لوحة المفاتيح.PNG

يرتبط كل إجراء تقريبًا في إيماكس بدالة في Lisp تنفذّ هذه الإجراء، وإذا كان هناك تابع تريد استدعائه ولم يتم ربطه بعد فيمكنك فقط كتابة اسم التابع في مخزن الأوامر المؤقت command buffer تمامًا كما تفعل مع تشغيل تطبيق في سطر أوامر لينكس، على سبيل المثال لتنشيط وضع بايثون Python تضغط على ما يلي: M-x ثم تختار python-mode ثم تضغط Return.

إذا لم يمتلك جهازك مفتاح Alt فيمكنك استبداله بمفتاح Esc لكنه سيعمل بشكل مختلف عنه حيث يجب الضغط على Esc وتحريره ثم الضغط على المفتاح المرتبط به وتحريره، فمثلًا لكتابة الاختصار M-x يجب أولًا الضغط على Esc وتحريره ثم الضغط على X وتحريره، وحتى إذا لم يمتلك جهازك مفتاح Alt أو Esc فيمكنك إعادة تعيين مفاتيح أخرى حسب الحاجة.

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

المرونة وقابلية التخصيص

يمتلك إيماكس خيارين للتشغيل تبعًا لرغبة المستخدم، حيث يمكن تشغيله في واجهة المستخدم الرسومية وهو ما يُسهّل تعلم البرنامج، أو داخل نافذة سطر الأوامر وهو الخيار الأنسب لمديري الأنظمة ومطوري الويب أو أي شخص يحتاج إلى تحرير النص عن بُعد، كما يمكن استخدام إيماكس كَوكيل client أي يمكن تشغيله في الخلفية ثم الاتصال به من نافذة أخرى أو من جهاز آخر.

قابلية للنقل

يُكتب إيماكس بشيفرة قائمة على الوحدات modular code لذا يُبنى في صيغة مبسطة مع عدد قليل من الاعتماديات وهذا ما يجعل نقله إلى أنظمة أخرى سهلًا وبالتالي لا يوجد نظام حاسوب سواء كان قديمًا أو جديدًا، شائعًا أو متخصصًا إلا ويمكنه تشغيل إيماكس أو على الأقل نسخة منه ذات الحد الأدنى من الإمكانيات، حيث أن جميع إصدارات إيماكس قابلة للنقل بسهولة ولا تتطلب أكثر من مكتبة C وواجهة سطر الأوامر.

متعدد الأوضاع modes

يمتلك إيماكس مجموعة من الأوضاع وهي عبارة عن ملحقات plugins تغيّر أداء إيماكس حسب عمل المستخدم فيه، ومن هذه الأوضاع:

  • وضع Org لتنظيم الأمور اليومية وإدارة المفكرة
  • وضع Deft لتدوين الملاحظات
  • وضع Fountain لكتابة النصوص السينمائية
  • وضع Muse لكتابة الأوراق والمقالات العلمية
  • وضع SES لجداول البيانات
  • وضع Python لكتابة شيفرات برمجية بلغة بايثون
  • وضع سكربت صدفة Shell يرمز له Sh، لتحرير Bash
  • وضع nXML لتحرير XML

بالإضافة إلى الأوضاع، هناك تطبيقات مخصصة لإيماكس مثل:

  • صدفة لتشغيل الأوامر على النظام الذي يشغل إيماكس
  • مدير ملفات قائم على النصوص لتصفح الملفات
  • عارض صور ومشغل وسائط متعددة
  • واجهة رسوم توضيحية بدائية للمساعدة في رسم مخططات انسيابية flowcharts
  • واجهة Git
  • وكيل بريد إلكتروني

لذا مهما كانت حاجة المستخدم سيجد وضع أو تطبيق أو حزمة لتلبيتها، كما يوفر لعبة Tetris لتمضية وقت الملل.

مفتوح المصدر

أكثر التطبيقات القابلة للبرمجة اليوم هي جداول البيانات المكتبية office spreadsheets كونها لا تتطلب خبرة في البرمجة على الإطلاق بل تعتمد على الصيغ والماكرو مما يساعد الكثير من الأشخاص على تصميم تطبيقات معقدة وفعالة، وبالطبع هناك حدود لإمكانيات جداول البيانات لذا إن كانت فكرة تطبيقك لا تتناسب تمامًا مع بنية الجداول فقد تعمل بشكل أفضل كنص عادي، وهذا ما حدث مع إيماكس فهو محرر نصوص عن طريق الخطأ فقط.

بدأ إيماكس كمجموعة من الماكرو المفيدة التي تهدف إلى تحرير النص، إلا أن بنية التطبيق بدأت بشيفرة برمجية بلغة سي C التي تنتج مترجم Lisp، مما يجعل إيماكس طريقة عزل لحماية شيفرة ليسب Lisp أي إذا تعلمت Elisp وهو اختصار Emacs Lisp، يمكنك تعديل التطبيق الذي تقوم بتشغيله أثناء تشغيله ولا يتطلب تنزيل الشيفرة المصدرية أو تصريفها بعد كل تغيير، ويمكن إنشاء أي بيئة على الفور حسب رغبة المستخدم بمهارة ودقة.

يتيح إيماكس الاطلاع على الشيفرة التي تؤثر على بيئة العمل وتعديلها أو تغييرها وتكون الشيفرة موثقة، والبناء فوق العمل الذي أنشأه الآخرون، والتحكم في الأدوات وتخصيصها.

ابدأ باستخدام إيماكس

تختلف مصادر تثبيت إيماكس تبعًا لنظام التشغيل المُستخدَم، لتثبيته على نظام لينكس Linux أو نظام بي إس دي BSD يجب الذهاب إلى مستودع التوزيع عبر مدير الحزم وتنزيله منها، أما على أنظمة ماك Mac وويندوز Windows، يمكن تنزيله وتثبيته من موقع GNU Emacs.

نجد أن إيماكس كغيره من المحررات يمتلك إيجابيات وبعض السلبيات، وحتى مع وجود هذه السلبيات وبمجرد تعلم أساسياته ستمتلك محررًا قويًا وفعالًا وقابلًا للتعديل وتوسيع إمكانياته بشكل كبير دومًا، لذا نرى أنه خيار يستحق النظر والتجربة.

ترجمة -وبتصرف- للمقال What is Emacs?‎.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...