إد (محرر نصوص)
إد محرر نصوص سطري مخصص للعمل على أنظمة يونكس، يعتبر إد واحداً من أوئل البرامج المخصصة لمستخدمي أنظمة الحاسوب على منصات يونكس و يعتبر إد أحد أهم البرامج المعيارية على أنظمة يونكس منذ إطلاق النسخة الأولى منها ، كتبت النسخة الأصلية لإد باستخدام مجمـِّع لغة الآلة PDP-11/20 و كان ذلك في عام 1971 على يد كين ثومبسون.
العديد من الوظائف و الميزات في إد تم جلبها من محرر النصوص كيو إد الذي تمت كتابته في جامعة كاليفورنيا، بركلي، كان لدى ثومبسون معرفة كبيرة في كيو إد و كان قد قام بإعادة كتابته و توظيفيه للعمل على أنظمة سي تي أس أس و مولتكس و كانت النسخة التي قام ثومبسون بإعادة كتابتها هي أول نسخة من كيو إد تدعم التعابير النمطية و على الرغم من كون التعابير النمطية جزء من إد إلا أن تطبيقها في إد يعتبر أقل عمومية من نظيراتها في كيو إد.
قامت الجوانب الوظيفية في إد بالتأثير على وظائف المحرر إكس و الذي قام بدوره بالتأثير على محرر النصوص الشهير في آي و من المعلوم أيضاً أن الأمر "grep" المعروف في عالم يونكس كان قد استلهم من استخدامات خاصة في كيو إد و لاحقاً من إد حيث أنه و بشكل عام تمثل حروف اسم الأمر "grep" عملية البحث في النصوص على أجزاء تمثل نمط تعبيري معين و من ثم طباعة السطور التي تحوي التعبير المراد إيجاده
و من الجدير ذكره أيضاً هو قيام محرر النصوص سيد بتطبيق العديد من الوظائف الموجودة في كيو إد و التي لم يتم تطبيقها في إد على أنظمة يونكس و عليه كان لسيد دور كبير في تصميم لغة البرمجة المعروفة "أوك" و التي بدورها أثرت و بشكل كبير على لغة البرمجة المعروفة بيرل.
ميزات إد تتضمن:
و يشتهر إد باختصاراته في التعامل مع المستحدمين حيث أنه تقريبأ لا يقوم باعطاء نتائج مرئية للوظائف التي يقوم بتنفيذها أو رسائل الأخطاء، على سبيل المثال فإن الرسالة التي يقوم إد بإظهارها في حالة حدوث خطأ معين أثناء تنفيذ أمر هي طباعة الإشارة "?" و كذلك الأمر في حالة التأكد من قيام المستخدم بإنهاء عملية التحرير.
و من المعلوم أن إد لا يدعم بشكل تلقائي إظهار اسم الملف المحرر أو سطر النص أو حتى أظهار نتائج التغيير على النصوص إلا في حال تم تحديد ذلك، هذه الاختصارات كانت مناسبة و في مكانها في الانطلاقات الأولى ليونكس و يرجع السبب في ذلك إلى ضعف العتاد المرئي لأجهزة الحاسوب في ذلك الوقت حيث أنه لم يكن متطوراً كما هو عليه الآن بالإضافة إلى أن الذاكرة الرئيسية لم تكن بالحجم المتعارف عليه في الوقت الحاضر من حيث الكم الذي تستطيع تخزينه من البيانات و المعلومات، و لهذا السبب و مع تطور العتاد المرئي لأجهزة الحاسب فقد أصبحت المحررات المرئية هي المحررات المعيارية في الوقت الحاضر.
تعد الاستخدامات التفاعلية لإد قليلةً في الوقت الحاضر و لكنه يستخدم في بعض البرامج النصية "Shell Scripts" و يندرج إد تحت محررات النصوص مثل في آي و إيماكس، و نظراً لتواجده في جميع أنظمة يونكس و توزيعات لينكس يعتبر إد محرر النصوص الوحيد الذي يمكن استخدامه في هذه الأنظمة في حالة حدوث خطأ أو في حالة عدم وجود محررات نصوص أخرى في النظام مما يجعل وجوده في هذه الأنظمة ضرورياً بشكل نسبي.
تم تقليد أوامر إد و مصطلحاته الوظيفية في عدد من محررات النصوص الأخرى مثل إدلين و ذلك في أنظمة إم إس-دوس القديمة و في أنظمة ويندوز إن تي العاملة على هيكلية 32 بت.
و كمثال لاستخدام إد في تحرير النصوص نسرد المقطع التالي و نرجو الإنتباه إلى أن الأوامر و النصوص التي يكتبها المستخدم تم تمييزها بالخط العادي و مخرجات إد تم تمييزها بالخط الغليظ:
النتيجة النهائية لأوامر المثال هي ملف بسيط يحوي النص التالي:
يبدأ المثال بمعالجة ملف فارغ حيث أن الأمر "a" يقوم بإلحاق أو إلصاق النصوص ببعضها البعض (من المفيد أن نذكر هنا أم جميع أوامر إد هي عبارة عن أحرف وحيدة فقط) كما يقوم الأمر أيضاً بوضع إد على "نمط الإدخال" بحيث يقوم بإدخال الحروف تباعاً و يتوقف عند طباعة النقطة على السطر "."، و السطرين اللذين تم طباعتهما قبل النقطة يتم إدخالهم المنطقة المخصصة لتحرير الملف على الذاكرة الرئيسية "File Buffer"، يقوم الأمر "2i" أيضاً بإعلام إد استخدام وضع أو نمط الإدخال و من ثم سيقوم بإدخال النص (سطر فارغ في مثالنا هذا) قبل السطر رقم 2، و من الجدير ذكره أنه بالإمكان سبق الأمر برقم لمعالجة السطر الذي يمثل ذلك الرقم.
في السطر "%l" الحرف "l" (الحرف الصغير من الحرف L) يعني تنفيذ امر "السرد" (List) و تم سبق الأمر بنطاق ليتم معالجة النص ضمن هذا النطاق و في هذه الحالة تمثل إشارة "%" اختصاراً للنطاق "$,1" و النطاق هو الفرق بين رقمي سطرين مفصولين بفاصلة أنجليزية "," و إشارة "$" تعني الرمز لآخر سطر في الملف، و بناءً عليه فإن إد سيقوم بسرد أو إظهار جميع السطور من أول سطر إلى اَخر سطر (و يمكن تجريب ذلك بتبديل الرقم 1 برقم آخر و يمكنك أيضاً تبديل "$" برقم آخر).
و عند إدخال السطر الفارغ في السطر رقم 2 فإن السطر المكتوب فيه "هذا السطر رقم إثنان" سيصبح في السطر الثالث و تم تبديل كلمة "إثنان" بكلمة "ثلاثة" في المثال للدلالة على ذلك و يظهر ذلك جلياً في الأمر "/ثلاثة/إثنان/3s" و هو أمر يفيد تبديل الكلمات حيث يتم تفسيره كالاَتي:
و يفصل بين الأمر و الاَخر الفاصلة الأنجليزية "," و لذلك نرى و كجزء من الأمر "l%," و يعني ذلك أنه بعد تنفيذ أمر الاستبدال سيتم القيام بتنفيذ أمر "السرد" (List).
الأمر "w text.txt" يفيد بتنفيذ عملية الحفظ و كتابة محتويات الملف تحت اسم "text.txt" و يتم تنفيذ ذلك عن طريق الأمر "w" و هو اختصار لكلمة "write" و تعني بالإنجليزية "أكتب" أو "إحفظ" و هذا الأمر يجعل إد يقوم بطباعة "54" و هذا الرقم يمثل عدد الأحرف التي تم حفظها في الملف و أخيراً يوعز الأمر "q" لإد القيام بالخروج من بيئة محرر النصوص، حيث أن حرف "q" يمثل الاختصار للكلمة الإنجليزية "quit" و التي تعني حرفياً "إنهاء".
على الرغم من كون بيل جوي هو من قام بتطوير محرر النصوص المعروف في آي لاستبداله بإد و في مقابلة تمت له في العام 1984 حيث أفصح أنه و في زياراته خارج مختبرات صن ميكروسيستمز إلا أنه كان يستخدم إد في تلك المواقف على الرغم من انتشار في آي في ذلك الوقت و ذلك لأنه لم يكن متأكداً أن نسخة في آي المنصوبة على الجهاز الذي يستعمله ستعمل كما أراد لها أن تعمل.