محررات النصوص في أنظمة لينيكس


(Mohammed Al Amin) #1

محررات النصوص في أنظمة لينيكس (Linux Text Editors) :

  • مقدمة : كل نظام تشغيل يأتي ببرامج أساسية لمعالجة النصوص. كذلك نظام اللينيكس يأتي بالعديد من محررات النصوص. وتنقسم إلى ثلاث مجموعات رئيسية :
    1- محررات النصوص التقليدية .
    2- محررات النصوص الهيكلية .
    3- محررات النصوص الموجهة للغات البرمجة وتعرف أيضا بأنها بيئة التطوير المتكاملة (Integrated Development Environment) .

=========================

1- المحررات التقليدية (Plain Text) :
معظم ملفات الاعدادت في لينيكس هي عبارة عن ملفات نصية لذلك محررات النصوص تغني المبرمجين والمستخدمين العاديين لنظام لينيكس عن لغات البرمجة وبيئات التطوير لتغيير الاعدادات. يمكن تصنيف هذه المحررات ضمن مجموعتين هما :

المجموعة الأولى : محررات الشاشات الكاملة.
المجموعة الثانية : محررات النصوص للأسطر .

أ - محررات الشاشة الكاملة تنقسم إلى قسمين :

  • محررات سطر الأوامر (Text Console Editors) : وهي محررات بسيطة تعمل بدون شاشات رسومية، والذي يميزها انها مناسبة للعمل عن بعد خصوصا عندما يكون الاتصال الشبكي او الاتصال عبر الانترنت ضعيف او غير مستقر. أيضا يمكن الاعتماد عليها في حالات الصيانة واصلاح اعطال النظام في حالة الخوادم (Servers).
  • محررات النصوص ذات الواجهات الرسومية (GUI - Graphical User Interface Editors) : وهي محررات تتمتع بالعديد من المميزات ابتداء" بالواجهات الجميلة، التدقيق الإملائي، تلوين الكلمات المتكررة وتلوين النصوص (مفيد في لغات البرمجة).
  • أمثلة محررات سطر الاوامر :
    1- المحرر (emacs) : يعتبر احد اقدم محررات النصوص في انظمة اللينيكس وهو حاليا المفسر أو المترجم (Interpreter) للغة الذكاء الاصطناعي (lisp) والتي تمت كتابته بها قبل عقود. من مميزاته التعرف على النص وتلوينه تبعا" للغة البرمجة، إكمال النص، تصفح الانترنت، قراءة البريد مساعدة العميان والكثير من المزايا. كما يمكنك من اتمام العديد من العمليات واختصار الوقت عبر تسجيل بعض الاختصارات وتخصيصها في (macro) وتنفيذها بضغطة زر.
    2- المحرر (vim) : هو أول محرر نصوص بشاشة كاملة ويعتمد نظام عمله على ما يسمى بالاطوار (modes) مثل :
  • طور العمليات او الأوامر (Normal Mode) ولتفعيله نقوم بالضغط على زر الخروج في الكيبورد (ESC) .
  • طور الإضافة أو الإدخال (Insertion Mode) للدخول في هذا الطور نقوم بالضغط على حرف (i) في الكيبورد.
  • طور الإكمال التلقائي (Auto Complete Mode) وهو مفيد في حالة كتابة كلمات طويلة، ثم لاحقا" في مكان اخر اردت كتابة نفس الكلمة فيكفي ان تضغط (CTRL + X) للدخول في طور الإكمال التلقائي ثم اضغط (CTRL + P) للحصول على الكلمة المطلوبة في حال وجود أكثر من احتمال.
    3- المحرر (Vim) هو نسخة مطورة للمحرر السابق (vi) توجد له نسخ ذات واجهات رسومية باسم (kvim) و (gvim).
    بالاضافة للاطوار السابقة يوجد في محرر (Vim) طور اضافي :
  • طور التحديد المرئي (Visual Mode) وفي هذا الطور تقوم بكتابة عمليات التحريك فيعمل VIM على تحديد منطقة وتظليلها ثم تضغط على رمز العملية للعمل على الجزء المظلل بدلاً من إدخال العملية ثم رمز الحركة كما في الطور العادي.
    4- المحرر (jed) : هو محرر نصوص يدعم واجهة المستخدم والقوائم المنسدلة داخل الطرفية وهو موجه لتطوير البرمجيات.
    5- المحرر (joe) : محرر نصوص قام بإنشائه شخص يدعى (Joseph Allen) وهذا هو سبب التسمية.
    6- المحرر (pico) : هو محرر نصوص سهل الاستخدام.
    7- المحرر (nano) : هو محرر نصوص صمم ليكون بديلا" للمحرر السابق (pico) تم اختياره بواسطة (Debian) ليكون المحرر الافتراضي.
  • أمثلة محررات النصوص ذات الواجهات الرسومية :
    1- المحرر (gedit) :
    محرر بسيط وشائع الاستخدام يشبه إلى حد كبير برنامج (Notepad ++) في الويندوز. بواجهة مستخدم بسيطة وميزة التدقيق التلقائي وتلوين النص بالنسبة للغات البرمجة .
    2- المحرر (gvim) : هي نسخة من المحرر (vim) ولكن بواجهة رسومية بسيطة. ولكن للتعامل معه لابد للمستخدم بمعرفة طريقة استخدام المحرر (vim) .
    3- المحرر (nedit) : هو محرر نصوص أساسي لأنظمة يونيكس.
    4- المحرر (Tea) : محرر نصوص متطور تحت رخصة (GPL3) من مميزاته تلوين النصوص، دعم لغات البرمجة، يعمل على منصات متعددة (Cross Platform)، ميزة التعرف على التعابير العادية (Regular Expression)، ميزة البحث والإستبدال (Search & Replace) . باختصار يعتبر بيئة تطوير كاملة (IDE).
    5- المحرر (Sublime) : محرر تجاري بواجهة رسومية يلون النصوص يعمل على منصات متعددة ويدعم لغات البرمجة (C++ - Python).

ب- محررات النصوص للأسطر :

1- المحرر (ed) : هو محرر نصوص موجه للأسطر على عكس محرارات الشاشة الكاملة، ليس له أي معالم فقط محث نصي لإدخال أوامر لاختيار السطر الذي تحرره ثم كتابة محتوياته. وهو موجه للعمل على أنظمة (Unix)، ويعتبر واحداً من أوئل البرامج المخصصة لمستخدمي أنظمة الحاسوب على منصات يونكس و هو أحد أهم البرامج المعيارية على أنظمة يونكس منذ إطلاق النسخة الأولى منها . كتبت النسخة الأصلية لإد باستخدام مجمـِّع لغة الآلة PDP-11/20 و كان ذلك في عام 1971 على يد كين ثومبسون.
كما اشتهر باختصاراته في التعامل مع المستخدمين حيث أنه تقريبأ لا يقوم باعطاء نتائج مرئية للوظائف التي يقوم بتنفيذها أو رسائل الأخطاء، على سبيل المثال فإن الرسالة التي يقوم إد بإظهارها في حالة حدوث خطأ معين أثناء تنفيذ أمر هي طباعة الإشارة (؟).
هذه الإختصارات كانت مناسبة و في مكانها في الإنطلاقات الأولى ليونكس و يرجع السبب في ذلك إلى ضعف العتاد المرئي لأجهزة الحاسوب في ذلك الوقت حيث أنه لم يكن متطوراً كما هو عليه الان بالإضافة إلى أن الذاكرة الرئيسية لم تكن بالحجم المتعارف عليه في الوقت الحاضر من حيث الكم الذي تستطيع تخزينه من البيانات و المعلومات.

=========================
** ملاحظة **
محررات النصوص مثل (Vim - Pico - Nano) التعامل معها صعب في البداية، لانه يجب على المستخدم معرفة العديد من توليفات ضغطات المفاتيح (Key Combination) لتحرير وانشاء الملفات مثل ضغط مفتاح الخروج (ESC) للدخول في طور التعليمات ثم ضغط حرف (i) للادخال وغيرها. توجد هذه الاختصارات في اسفل شاشة المحرر.

2- محررات النصوص الهيكلية (Structured Text Editors) :

النصوص الهيكلية هي نصوص منظمة ومنسقة منطقيا" لتمثيل مخطط بيانات أو وظيفة برمجية.
توجد صيغتان لتمثيل البيانات وهما :

  • لغة ترميز النص التشعبي (HTML) وهي لغة بناء وتصميم صفحات الانترنت.
  • لغة تمثيل البيانات (XML) او ماتعرف بلغة الترميز القابلة للامتداد ( The Extensible Markup Language).
  • أمثلة محررات النصوص الهيكلية :

أ- محررات نصوص (HTML) :
1- المحرر (kompozer) : هو محرر نصوص مفتوح المصدر مبنى على المحرر (Nvu). مبدأ عمله يقوم على ما يسمى (WYSIWYG) وهي اختصار لجملة (What You See Is What You Get) وتعني [ ما تشاهده هو ما ستحصل عليه ]. ببساطة عند كتابة الكود او اضافة اي كود ستشاهد النتيجة مباشرة بدون الحاجة لتطبيق التغييرات والعودة مرة اخرى.
2- المحرر (Amaya) : هو محرر نصوص مفتوح المصدر بدأ العمل عليه في العام 1996م . وهو ليس مجرد محرر نصوص فقط ولكن تندمج فيه مميزات المتصفح الكامل مع ادوات انشاء وتعديل مستندات الويب بمنتهى السلاسة ومباشرة على الويب في بيئة واحدة.
3- المحرر (Bluesifh) : هو محرر موجه لمطوري البرامج . يأتي بالعديد من الخيارات لكتابة أكواد صفحات الويب، السكريبتات والأكواد البرمجية ويدعم العديد من لغات البرمجة والترميز.
4- المحرر (Aptana) : تُعدّ بيئة التطوير هذه من البيئات الرائدة في مجال تطوير الويب 2.0 لتطوير المواقع التفاعلية والغنية التقنيات الحديثة. مع أنها أساساً موجه لعمل تطبيقات الويب بتقنية Ajax. لكنها توفر لك كل ما هو جديد متقن من المميزات والتسهيلات اللازمة للتطوير باستخدام لغات الويب النصية (Scripting Language) مثل :
Php - Ajax - Ruby - JavaScript

ب- محررات نصوص (XML) :
1- المحرر (KXML Editor) : محرر نصوص لواجهات (KDE) لعرض وتحرير ملفات (XML) .
2- المحرر (Oxygen XML) : محرر نصوص تجاري يعمل على منصات تشغيل متعددة يتميز بوجود رسائل التنبيه والأخطاء.

3- المحرر (Eclipse) : محرر نصوص معروفيعمل على منصات تشغيل متعددة ويعتبر بيئة تطويرية للغة جافا (Java IDE) .

=========================

3- محررات النصوص الموجهة للغات البرمجة وتعرف أيضا بأنها بيئة التطوير المتكاملة (Integrated Development Environment) :

1- منصة تطوير لغة (++ C) لأنظمة لينيكس .
2- منصة تطوير لغة (Java) أنظمة لينيكس .

=========================

هذه كانت لمحة سريعة لمحررات النصوص في أنظمة لينيكس . لن أتطرق لطرق استخدامها والتعامل معها وسأترك لكم مهمة البحث والتعلم عبر الانترنت . أرجو أن أكون قد وفقت … والحمدلله رب العالمين


(saleh oukiki) #2

شكرا جزيلا فعلا موضوع رائع و متكامل.