مرجع
آخر الزيارات

في آي

3٬810 كلمة•0 مشاهدة•🗒️ منذ 17 يوماً
باختصار: في آي هو محرر نصوص تم تصميمه في بداية الأمر لنظام التشغيل يونكس وقد تم تنظيم وتوحيد الجزئيات المحمولة من وظائف المحرر (أي الجزئيات التي تم تهيئتها للعمل على أكثر من نظام تشغيل) والبرامج المبنية عليه من قبل مجموعة مواصفات يونكس المنفردة إلى…. تجد هنا «التوزيع»، «المشتقات المعاصرة والمستنسخات» و«الواجهة» ضمن 7 أقسام.
المحتويات
  1. التوزيع
  2. المشتقات المعاصرة والمستنسخات
  3. الواجهة
  4. المستنسخات والمحاكيات
  5. التأثير
  6. البداية
  7. نظرة عامة
في آي

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

في هذا الإطار، تم البدء بتطوير في آي في العام 1976 على يد بيل جوي وقد تم تطويره في ذلك الوقت ليكون بمثابة نافذة مرئية لمحرر النصوص السطري إكس وقد تم تطوير إكس على يد بيل جوي وتشُك هالي وتم إطلاق الأصدارة الأولى من إكس التي تحمل الرقم 1.1 كجزء من أول إصدار من نظام تشغيل «بي أس دي يونكس» (BSD Unix) وكان ذلك في العام 1978، وتم إطلاق الإصدارة الثانية التي تحمل الرقم 2.0 من المحرر إكس كجزء من الإصدار الثاني لنظام التشغيل التابع لتوزيعة برمجيات بيركلي وكان ذلك في شهر مايو من العام 1979 وسمي حين ذاك بالاسم «في آي» وبقيت تسميته كذلك حتى يومنا هذا ونظراً للشهرة التي حازها في آي فقد ظهرت الكثير من المشتقات أو التطبيقات المحاكية لهذا المحرر ويمكن تتبع أصول بعض هذه التطبيقات للوصول إلى الشيفرة الأصلية التي قام بيل جوي بكتابتها، والبعض الآخر من هذه التطبيقات هي تطبيقات جديدة ومفصولة عن المحرر الأصلي ولكنها تتوافق معه لدرجة عالية من المحاكاة.

التوزيع

في هذا الإطار، و من الملاحظ أن أغلب مستعملي إكس كانوا يمضون أغلب أوقاتهم في تحرير النصوص مع النمط المرئي للمحرر ولذلك وفي الإصدارة 2.0 (التي تم إطلاقها مع النسخة الثانية من توزيعات برمجيات بيركلي في مايو من العام 1979) قام جوي بجعل في آي يعمل كمؤشر متصل مع إكس بمعنى أنه في حال استدعاء في آي على سطر الأوامر فإن إكس سيتم استدعاؤه بشكل تلقائي ليعمل بالنمط المرئي وبالتالي لم يكن في آي مفصولاً عن إكس وانما كان هو نفسه إكس. وقد وصف جوي الإصدارة 2.0 من إكس بأنها برنامج كبير وبالكاد تستطيع الذاكرة الرئيسية لجهاز الحاسوب من نوع (PDP-11/70) أن تسعه. وعلى الرغم من اعتبار في آي برنامج صغير وخفيف في الوقت الحالي إلا انه لم يكن يعتبر كذلك في بداياته ومع إطلاق الإصدارة 3.1 التي كانت محوية في النسخة الثالثة من بي أس دي (تم إطلاق هذه النسخة من بي أس دي في شهر ديسمير من العام 1979) لم تستطع الذاكرة الرئيسية لجهاز (PDP-11) أن تسع المحرر في آي كاملاً.

من جهة ثانية، في عام 1979 قام مارك هورتون بأخذ مسؤولية تطوير في آي وقد قام هورتون بإضافة الدعم لأزرار الأسهم وأزرار الوظائف والماكروات وقد قام كذلك بتحسين أداء المحرر حيث قام بإزالة مكتبات «تيرم كاب» (و هي عبارة عن مكتبات برمجية وقواعد بيانات خاصة بالأنظمة الشبيهة بيونكس) واستبدالها بمكتبات «تيرم إنفو» (و هي شبيهة بمكتبات تيرم كاب من حيث الوصف ولكنها تختلف عنها في أنها تحقق نمطية device-independent) وتجدر الإشارة هنا إلى أن مارك هورتون هو أول من قام بتطبيق «تيرم إنفو» وكان ذلك بين العامين 1981 و 1982.

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

إضافةً إلى ذلك، ما حدث فعلياً هو أنني كنت أعمل لتطبيق إضافة النوافذ المتعددة في «في آي» عندما قمنا بتنصيب مجموعة التعليمات الخاصة بنا (our VAX) وكان ذلك في شهر ديسيمبر من العام 78، لم يكن لدينا أي نسخ احتياطية وقد تعطل شريط تخزين البيانات لدينا ومع ذلك كنت قد مضيت قدماً بالعمل مع علمي بعدم قدرتي على التخزين احتياطياً وحدثت أسوأ الاحتمالات فقد فقدت جزءاً من الشيفرة المصدرية وقد اضطررت لإعادة كتابة جزء كبير من الشيفرة المصدرية للإضافة المخصصة لإعادة عرض النصوص في النوافذ وكانت تلك هي اللحظة التي قررت فيها التوقف عن العمل بهذه الإضافة.

في هذا الإطار، بقي جوي يقود عملية التطوير في «في آي» حتى إطلاق الإصدارة 2.7 في شهر يونيو من العام 1979 ومن ثم أصبحت مساهماته متباعدة ومتفرقة حتى إطلاق الإصدارة 3.5 في شهر أغسطس من العام 1980 وفي حديث مع جوي حول تاريخ في آي علق جوي عن سبب توقفه في المشاركة بتطوير في آي قائلاً:

وفي هذا الصدد، فيما بعد قررت العودة إلى الشيفرة المصدرية الخاصة بالنسخة السابقة من في آي حيث قمت بتوثيق الشيفرة المصدرية وأنهيت دليل الاستخدام وأقفلته، إن لم تحدث تلك الواقعة التي أضاعت الجزء الأكبر من شيفرة النوافذ المتعددة لكان في آي يحوي دعمه الخاص للنوافذ المتعددة وربما كنت قد استطعت كذلك ان أضيف جزء من الواجهة البرمجية ولكني لست متأكداً من ذلك، المشكلة الرئيسية في «في آي» هي دعمه لفأرة الحاسوب (Mouse) ولهذا السبب تجد هذا الكم من الأوامر، وأعتقد ان مستويات متعددة من القدرة على ارجاع حالة التحرير "undo" ستكون رائعة كذلك، ولكن وبشكل أساسي يبقى في آي هو نفسه إد من الداخل ولا يستطيع أحد العبث بهذا الواقع حيث يشبه ذلك كرة الحلويات الصغيرة «المصاصة» المغلفة بغشاء حافظ يحيط بها من كل جانب، أعتقد أنه ان كنت استطيع الرجوع إلى الوراء لما رجعت بل سأبدأ من جديد مرة أخرى

من جهة ثانية، كان جوي مسؤولاً عن إطلاق الإصدارة الأولى من بي أس دي يونكس، وكان ذلك في شهر مارس من عام 1978 وكانت الإصدارة تحوي المحرر إكس بنسخة 1.1 (التي تم إطلاقها بتاريخ 1 فبراير من العام 1978) مما أتاح له المجال لإيصال المحرر الذي قام بتطويره إلى شريحة عريضة من المستعملين تتجاوز مستعملي جامعة كاليفورنيا ومن هذا التاريخ أصبحت كل إصدارة لنظام تشغيل بي أس دي يونكس تحوي فقط على محررين رئيسيين للنصوص وهما إد وإكس وفي مقابلة أجراها في العام 1984 أرجع جوي نجاح في آي إلى حقيقة أن المحرر كان متاحاً بشكل حر ومجاني بينما كانت المحررات الأخرى مثل إيماكس تكلف مئات الدولارات.

المشتقات المعاصرة والمستنسخات

من جهة ثانية، ويجدر ذكر أن فيم يتم تضمينه من كل توزيعة لينكس ويتم تضمينه مع كل نسخة من نظام تشغيل أبل (ماك أو أس أكس)، هذا ومن المهم كذلك أن نذكر أن فيم يحوي «وضع محاكاة في آي» حيث أنه بتفعيل هذا الوضع سيتصرف فيم بطريقة يحاكي بها في آي بدرجة كبيرة جداً. وعلى الرغم من وجود خيار «وضع محاكاة في آي» في فيم إلا أن فيم قد قام بإسقاط بعض وظائف «في آي» الأصلية مثل خاصية النمط المفتوح (open mode) حيث لا يمكن للمستعملين استعمالها حتي في حال تفعيل وضع المحاكاة، ويمكن التحكم بوضع المحاكاة عن طريق الأمر (set compatible:) ويتم تفعيل وضع المحاكاة بشكل تلقائي في فيم عند تشغيله بظرف تتوقع فيه البرمجية أن تجد نمط محاكاة في آي مفعلاً.

من جانب آخر، يعتبر في آي التقليدي المتواجد في الوقت الحالي في توزيعات يونكس الحديثة تطويراً ل«في آي» الأصلي الذي قام بيل جوي بكتابته في نهاية السبعينيات من القرن الماضي حيث قام جونر ريتر بتطويره وتطويعه في لأنظمة يونكس الحديثة ومن ما قام به ريتر:

كذلك، يُعتبر أحد أشهر مشتقات في آي الحرة والمفتوحة المصدر ويعني اسمه «في آي المحسن» ويحوي الكثير من المزايا والإضافات بما فيها:

إضافةً إلى ذلك، و هي مجموعة من مرافق لينكس المعيارية تم تجميعها في ملف تنفيذي واحد ويحوي هذا الملف محاكي صغير ل«في آي»

إضافةً إلى ذلك، مقارنةً بنظرائه من المشتقات فإن في آي يعتبر برنامج صغير الحجم (حيث يصل حجم شيفرته المصدرية على وجه التقريب إلى 120 كيلوبايت لمعالجات إنتل من نوع i386) مع واجهته البالغة القوة في تحرير النصوص ولكنه يفتقد الإضافات المزخرفة مثل المستويات المتعددة لرجوع حالة التحرير (undo) وتعدد شاشات التحرير إلى جانب ميزة تعليم الصيغة، وبكلمات أخرى يعتبر في آي التقليدي برنامج يونكس تقليدي يعمل ما هو مطلوب منه فقط وليس أكثر من ذلك.

  • دعم العوازل المتعددة (multiple buffers).
  • دعم النوافذ.
  • أنماط الإظهار (display modes).
  • دعم تخطيط سماحية الملفات (file access schemes).

في هذا الإطار، و هناك إطلاقات تطويرية (development releases) ل«أن في آي» وآخر هذه الإطلاقات كانت الإطلاقة 1.81.6 وكانت في شهر نوفيمبر من العام 2007.

في آي التقليدي (Traditional Vi)

مجموعة فري بي أس دي بورتس (FreeBSD ports collection).

بيزي بوكس (BusyBox)

ماك بورتس (MacPorts).

وفي هذا السياق، في بدايته اعتمد فايل على نسخة ابتدائية من ميكرو إيماكس في محاولة لجلب ميزة إيماكس المختصة في النوافذ «المتعددة والعوازل المتعددة» (multi-window/multi-buffer) إلى مستعملي في آي

وفي هذا السياق، إلفيس هو واحد من مشتقات في آي الحرة المخصص للعمل على أنظمة يونكس وقد كتبه ستيف كيركيندال، يقدم إلفيس عدد من الميزات المتواجدة في الوقت الحالي في مشتقات أخرى ل«في آي» مثل السماح لأزرار مفاتيح الإتجاهات بالعمل في وضعية الإدخال وكان أول مستنسخ يقوم بتطبيق تعليم الصيغة الملون بالإضافة لتعميم تمييز الصيغة لعدد من أنواع الملفات، وقد تم استخدام الإصدارة x.1 كنقطة بداية لإنشاء المحرر أن في آي ولكن الإصدارة 2.0 من إلفيس أضافت الكثير من الميزات والإضافات ومنها:

  • إضافة مؤرخ للأوامر والتحرير.
  • دعم الإكمال التلقائي لأسماء الملفات.
  • دعم العوازل المتعددة (multiple edit buffers).
  • دعم تعدد نوافذ التحرير بما في ذلك دعم تعدد النوافذ على نفس العازل.

أن في آي (NVI)

  • انظر كذلك
  • قائمة محررات النصوص
  • فيم
  • إيماكس
  • يونكس
  • جنو/لينكس
  • محرر نصوص

وفي هذا السياق، حزمة أر بي أم (RPM Package) لتوزيعات لينكس التي تعتمد على مدير حزم آر بي إم من خلال مشروع أوبين باكيج (OpenPKG Project).

وقد علق ريتر على في آي التقليدي قائلاً:

إضافةً إلى ذلك، ويتضمن كذلك إضافات أخرى، وبالتالي فإنه يعتبر واحداً من أفضل مشتقات «في آي» للمستعملين الذين يبحثون عن برنامج صغير الحجم ويقوم بمحاكاة النسخة الأصلية بشكل شبه كامل، وتتواجد نسخ منه جاهزة للتنصيب في:

ومن جهة أخرى، أن في آي هو توزيعة أخرى محاكية ل«في آي» وقد تم تبنيها وبشكل رسمي من قبل توزيعة برمجيات بيركلي في إصدارة بي أس دي لايت 4.4 وهي هذه النسخة التي تم تصديرها إلى جميع مشتقات بي أس دي المفتوحة المصدر، ويحوي أن في آي مزايا وإضافات مثل:

فايل (Vile)

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

فيم (Vim)

في هذا الإطار، و يعتبر إلفيس محرر النصوص الافتراضي المشتق من في آي في توزيعات لينكس سلاكوير وو كايت أو أس إلى جانب نظام تشغيل مينيكس وأحدث إصدارة من إلفيس كانت الإصدارة 2.2 والتي تم إطلاقها في شهر أوكتوبر من العام 2003.

إلفيس (Elvis)

  • تحسينات بسيطة للمدخلات بطول 8 بت.
  • إضافة الدعم لصيغة التحويل الموحد-8 (UTF-8).
  • إضافة تغييرات متطلبة من معايير بوسيكس-2.

الواجهة

من جانب آخر، يعتبر في آي واحداً من محررات النصوص النمطية أو الوضعية بمعنى أنها تعتمد على الأوضاع التقنية لتحرير النصوص ويوجد في «في آي» نمطين أو وضعين رئيسيين وهما:

في هذا الإطار، وضع الأوامر: وفي هذا الوضع تختلف مهمات أزرار لوحة المفاتيح عن الوضع السابق فيتوقع المستعمل أنه في حال ضغطه على زر الحرف ستتم طباعة الحرف (i) على الشاشة وهنا يكمن الفرق بين الوضعين، ففي وضع الأوامر تختلف مهمة زر الحرف عن وضع الإدخال وتكمن مهمة الحرف (i) هنا بأنه يسمح للمستعمل الدخول إلى وضع الإدخال بعدما كان في وضع الأوامر، ويمشي على هذا السياق جميع أزرار لوحة المفاتيح (في حال ارتباطها بأمر معين).

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

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

علاوةً على ذلك، و من الجدير بالذكر أنه من محاسن فصل هذه الأوضاع عن بعضها أن المستعمل لا يبعد يده عن لوحة المفاتيح فكل ما يحتاجه سواء أكان لتحرير النصوص أو لتنفيذ الأوامر إنما هو كبسة زر تبعد مقدار طول إصبع يده عن لوحة المفاتيح لا أكثر، ويختلف هذا من حيث المبدأ مع المحررات التي لا تعتمد فصل الأوضاع في تحرير النصوص فمثلاً إن أراد المستعمل أن يقوم بحفظ وثيقة فإنه إما أن يقوم بإزالة يده اليمنى من لوحة المفاتيح لتحريك فأرة الحاسوب نحو أيقونة الحفظ ويضغط عليها أو يقوم بتحريك فأرة الحاسوب نحو قائمة «ملف» واختيار خيار الحفظ أو أن يستعمل أكثر من زر لتنفيذ الحفظ مثل ( + ) مما يؤدي إلى إزالة يده من مواضع التركيز على لوحة المفاتيح، بينما بإمكانك تنفيذ ذلك من دون إزالة يدك من على لوحة المفاتيح وبكبسة زر واحدة في كل مرة لتنفيذ أمر الحفظ (و يمكنك تنفيذ ذلك بأكثر من زر في نفس الوقت، الخيار متروك للمستعمل في هذه الحالة) في المحررات المتعددة الأوضاع مثل «في آي».

المستنسخات والمحاكيات

وفي السياق ذاته، و على الرغم من وجود مستنسخات ل«في آي» تحوي الكثير من الترقيات والوظائف المحسنة فقد استطاع جونر ريتر تطويع الشيفرة المصدرية التي قام جوي بكتابتها على أنظمة التشغيل الشبيهة بيونكس مثل لينكس وفري بي أس دي، وفي بداية الأمر لم يكن عمله من الناحية القانونية سليماً لأن أي توزيع لشيفرة مصدرية تنتمي لتي أند تي بدون وجود رخصة استخدام لها يعد خرقاً للقانون ولكن في شهر يناير من العام 2002 تم تخفيف حدة هذه الرخص وأصبحت على علاقة أطيب مع التطبيقات المفتوحة المصدر مما أتاح المجال أمام ريتر بالاستمرار في تطوير الشيفرة المصدرية ل«في آي» بما في ذلك التغييرات التي تطلبتها الإصدارة 2 من معايير بوسيكس وعمله هذا بقي موجودا تحت اسم «في آي» ويعمل على عدد كبير من منصات الأنظمة.

من جانب آخر، و بينما هذه الشركات كانت تعمل على الشيفرة المصدرية التي قام بيل جوي بكتابتها (و استمرت بالعمل عليها ليومنا هذا) حرم كثير من الناس من القيام بذلك ويعود السبب في ذلك أن جوي بدأ العمل في «في آي» على الشيفرة المصدرية التي قام كين ثومبسون بكتابتها للمحرر إد وبالتالي فإن المحررين إكس و«في آي» لم يكن من الممكن التعديل والتحكم بشيفراتهم المصدرية الا عن طريق رخصة إي تي أند تي (AT&T)، وقد بحث المستعملون عن محرر نصوص حر شبيه بمحررات يونكس لسد هذه الفجوة وفي عام 1985 ظهرت نسخة من محرر إيماكس وكانت تسمى (ميكرو إيماكس) وكانت مخصصة لعدد من المنصات ولم تصح هذه الحقيقة ل «في آي» حتى شهر يونيو من العام 1987 حيث ظهر المحرر ستيفي (Stevie) وهو محرر محاكي لحد ما ل «في آي» وفي بدايات شهر يناير من العام 1990 قام ستيف كيركيندال بالإعلان عن مستنسخ اَخر ل «في آي» سمي باسم «إلفيس» (Elvis) في مجموعة يوزنت الإخبارية المسمى (comp.os.minix) وكان يهدف بهذا الوصول إلى محرر يحاكي «في آي» بشكل أفضل من ستيفي وعلى الفور جذب هذا الإعلان انتباه عدد من المطورين المهتمين بالموضوع، ولاحقًا قام أندرو تانينباوم بطرح استفتاء لتقرير المحرر الأفضل في محاكاة «في آي» من المحررين ستيفي وإلفيس ليكون محرر النصوص المحاكي ل«في آي» في نظام مينيكس وقد تم اختيار إلفيس وبقي إلفيس محرر النصوص المحاكي ل «في آي» في نظام مينيكس حتى يومنا هذا.

كذلك، و في جامعة كاليفورنيا أراد كيث بوستيك بديلاً مطابقاً ل«في آي» من أجل تنصيبه في بي أس دي 4.4 لايت، وباستخدام الإصدارة 1.8 من المحرر إلفيس قرر أن تكون هذه هي نقطة البداية لتطوير محرره الخاص المطابق ل«في آي» فوجد المحرر «أن في آي» (NVI) وقد تم إطلاقه في ربيع عام 1994 وعندما قامت التوزيعتان فري بي أس دي ونِت بي أس دي بإعادة تحديث قواعد الشيفرات المصدرية لنظاميهما قررا حينها التخلي عن المحرر إلفيس وتبنيا المحرر الجديد أن في آي ومن الجدير بالذكر أن هذه الأنظمة وإلى يومنا هذا تستعمل أن في آي كمحرر النصوص الرئيسي.

من جانب آخر، وصولا للإصدارة 3.7 من في آي والتي تم إطلاقها في أوكتوبر من العام 1981 كانت جامعة كاليفورنيا هي البيت الحاضن لتطوير «في آي» ولكن مع انسحاب بيل جوي من المشروع في أوائل عام 1982 وانضمامه لشركة صن ميكروسيستمز ومن ثم تبني شركة إي تي أند تي (AT&T) في نظامها نظام يونكس الخامس (UNIX System V) لتطوير في آي وكان ذلك في شهر يناير من العام 1983، حصلت بعض التغييرات على الشيفرة المصدرية في «في آي» ولكن هذه التغييرات كانت بطيئة وتحدث بشكل عشوائي، وكانت هذه التغييرات تحصل كذلك في جامعة كاليفورنيا ولكن رقم الإصدارة لم يتم أبداً تحديثه ولم يتجاوز 3.7، وقد حصلت الشركات التجارية التي اعتمدت يونكس في أعمالها على نسخة من الشيفرة المصدرية ل«في آي» مثل شركة صن ميكروسيستمز (Sun Microsystems) وأتش بي (HP) ودي إي سي (DEC) وآي بي أم (IBM) وقد دعمت أنظمة تشغيل هذه الشركات نسخ «في آي‌» الجديدة والتي تأتي بعد الإصدارة 3.7 وكان ذلك على شكل إضافات وظيفية مثل دعم تعديل تعيين أزرار لوحة المفاتيح والتشفير إلى جانب دعم الحروف الواسعة النطاق (و هي الحروف التي تحتاج إلى حجم أكبر من 8 بت لتخزينها ومعالجتها).

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

وفي هذا السياق، في سنة 1989 بدأ الزوجان لين ووليام جوليتز بتطويع بي أس دي يونكس للعمل على معالجات إنتل من فئة 386 ولكن من أجل إيجاد توزيعة حرة كان يجب عليهم تجنب أي شيفرة مصدرية توجب حق الملكية لشركة إي تي أند تي (AT&T) ويتضمن ذلك الشيفرة المصدرية ل«في آي» ولسد هذا الفراغ قاما في عام 1992 باستخدام المحرر إلفيس بديلاً عن في آي وقد جاءت أحفاد بي أس دي 386 (386BSD) مثل فري بي أس دي (FreeBSD) ونِت بي أس دي (NetBSD) على نفس النسق لاعتماد محررات النصوص.

التأثير

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

البداية

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

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

من جانب آخر، تم تصميم المحرر إم للعمل على شاشات العرض وكان يتصرف كمحرر مرئي لمعالجة النصوص وكان هذا المحرر يقوم بمعالجة النصوص سطر واحد في نفس الوقت واعتبر إم واحدا من أوائل التطبيقات في يونكس التي اعتمدت على «نمط ادخال وحدة التحكم المجردة» (raw terminal input mode) حيث يقوم البرنامج الفعال بمعالجة ضغطات المفاتيح (المفاتيح التي يقوم المستعملون بالضغط عليها في لوحة المفاتيح) بدلاً من قيام برنامج التعريف المخصص في وحدة التحكم من القيام بذلك.

ومن جهة أخرى، يعزى تطوير في آي إلى سلسلة من محررات يونكس التي تعتمد سطر الأوامر كمنصة للعمل عليها وأول هذه المحررات كان المحرر إد (ed) الذي تم تطويره واستخدامه في شركة «إي تي أند تي» (AT&T) وقد أبدا المطورون في ذلك الوقت ارتياحهم لاستعمال المحرر إد البدائي وذلك بشهادة جورج كولوريس الذي قال:

كذلك، لسنوات طويلة لم يملكوا (أي الموظفون في AT&T) وحدات تحكم مناسبة (suitable terminals) وتابعوا استخدامهم لأوامر تي تي واي "TTY" (و هي مجموعة من الأوامر التي تقوم بطباعة البيانات على شكل مخرجات جهاز العرض) وأوامر طباعة أخرى لمدة طويلة وعندما قامت الشركة بشراء شاشات «تيكترونيكس 4014» (Tektronix 4014) «و هي عبارة عن نسخة خاصة من شاشات العرض الأحادية اللون تعتمد تقنية أنبوب الأشعة المهبطية أو CRT لإظهار مخرجات العرض» ولم يكن بالإمكان استخدام محرر نصوص على هذه الشاشات لأن مخرجات العرض لا يمكن تحديثها وبالتالي كان لابد ان يقع حمل تطوير محرر نصوص يعمل على شاشة العرض ليونكس على عاتق أحد وكنا قد قررنا أخذ هذه المسؤولية على اكتافنا وعملنا عليها لسنوات عديدة.

كذلك، الكثير من الأفكار في المحرر في آي كانت قد «سرقت» من دليل الاستخدام للمحرر براڤو حيث قمت بالنظر خلسةً إلى دليل المستعمل ونسخته، فمثلاً أمر النقطة (.) يمثل الهروب الازدواجي (double-escape) في براڤو وكذلك الحال في أمر استرجاع الحالة (redo)، أغلب هذه الأوامر قد تمت سرقتها، وبعض الأوامر تمت سرقتها من إد حيث كنا قد حصلنا على نسخة تورونتو من دليل الاستخدام والتي أظن أن روب بيك له علاقة بسرقتها حيث أخذنا امتدادات بعض التعابير النمطية من هناك.

من جانب آخر، اعتبر جورج كولوريس -متهكما- الأوامر الخفية التي يقوم المحرر إد بتنفيذها بعيدا عن أعين مستعمليه مناسبة «للخالدين فقط» ولذلك قرر أن يقوم بتطوير المحرر إد بالاعتماد على الشيفرة المصدرية التي قام كين ثومبسون بكتابتها واعتبارها نقطة البداية لإيجاد محرر نصوص مخصص ل «غير الخالدين» وكان ذلك في شهر فبراير من العام 1976 حيث كان يعمل في ذلك الوقت في كلية الملكة ماري، بجامعة لندن وقد سمي المحرر الجديد باسم إم (em) وهي الأحرف الأولى من الكلمات (Editor for Mortals) وتعني بالعربية «محرر نصوص لغير الخالدين».

وعلى صعيد آخر، قام بيل جوي وتشك هالي بأخذ الشيفرة المصدرية للمحرر إم وقاما بتطويره ليطلقوا لاحقًا المحرر إن (en) وفيما بعد قاما بتطوير إن ليقوموا بإطلاق النسخة 0.1 من إكس وكل ذلك حدث عندما كانا في مرحلة التخرج من جامعة كاليفورنيا، بركلي وفيما بعد انسحب تشك هالي من المشروع.

في هذا الإطار، ثم شجع بروس إنجلر بيل جوي على المضي قدماً في إعادة تصميم المحرر وهذا بالفعل ما قام به جوي ما بين شهري يناير وأكتوبر من سنة 1977 حيث قام بتطوير نافذة مرئية كاملة للمحرر إكس والتي عرفت فيما بعد بالاسم في آي، الكثير من الأفكار في المحرر الجديد تم استنباطها من تطبيقات كانت موجودة آنذاك ووفق جوي نفسه فقد كان هناك الكثير من الأفكار التي تم اخذها من المحرر «براڤو» (Bravo) الذي عرف عنه بأنه أول محرر نصوص يطبق نمط ما تراه هو ما تحصل عليه وفي مقابلة تمت مع بيل جوي عن بدايات في آي أسهب جوي قائلاً:

في هذا الإطار، قام جوي باستخدام طرفية حاسوب (أو وحدة تحكم) من نوع لير سيجلر (Lear Siegler) التي تحمل الاسم (ADM3A) حيث كان مكان زر الهروب في نفس المكان المخصص في الوقت الحالي لزر الإزاحة على لوحات المفاتيح من نوع (IBM PC) المعروفة، وكان ذلك مناسباً لوضع وظيفة تبديل الأوضاع على ذلك الزر (زر الهروب) «و تجدر الإشارة هنا إلى أن هناك وضعين للتعامل مع محرر النصوص في آي وهما وضع الأدخال ووضع الأوامر»، فضلًا عن استخدام أزرار الحروف (,,,) لتنفيذ أكثر من وظيفة ففي وضع الإدخال تتصرف هذه الأزرار عند الضغط عليها كبقية أزرار لوحة المفاتيح حيث تقوم بطباعة الحرف المسند إليها وفي وضع الأوامر تتصرف بنفس وظيفة الأسهم حيث يقوم زر الحرف بتحريك المؤشر إلى اليسار ويقوم زر الحرف بتحريك المؤشر إلى الأسفل ويقوم زر الحرف بتحريك المؤشر إلى الإعلى وأخيراً يقوم زر الحرف بتحريك المؤشر إلى اليمين، ولم تكن لوحة ADM3A تحوي على المزيد من أزرار المؤشر سوى المذكورة سابقاً.

نظرة عامة

تاريخ في آي

وعلى صعيد آخر، التسمية (في آي vi) مستمدة من أقصر اختصار غير مبهم للأمر visual والذي يعني بالعربية (مرئي) وهو جزء من مجموعة الأوامر التي كان ينفذها المحرر إكس ويقوم هذا الأمر بوضع المحرر إكس على الوضعية أو النمط المرئي.

في هذا الإطار، و تجدر الإشارة إلى أنه فضلًا عن التطبيقات المتعددة والغير حرة الموزعة تحت رخصة الملكية الفكرية ليونكس (المقصود بالتطبيقات هنا هي التطبيقات المحاكية ل في آي) هناك الكثير من التطبيقات التي تقابلها في عالم البرمجيات الحرة والبرمجيات المفتوحة المصدر مثل فيم، وفي عام 2009 قام قراء مجلة لينكس جورنال بالتصويت ل في آي باعتباره الأكثر استخداماً بين محررات النصوص بما فيها محرر النصوص المشهور جي إديت (حيث تغلب في آي بنسبة 36% على جي أديت الذي حاز نسبة 19% من قراء المجلة).

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.