logo

كيفية تثبيت محرر VIM على أوبونتو؟

مقدمة

Vim هو محرر نصوص ونسخة محسنة من محرر Vi. تم تصميمه لاستخدامه كتطبيق CLI (واجهة سطر الأوامر) وGUI (واجهة المستخدم الرسومية).

تم تصميمه وتطويره بواسطة Bram Moolenaar وتم إصداره لأول مرة في نوفمبر 1991. VIM هو محرر نصوص مفتوح المصدر ومجاني يعتمد على الشاشة. لقد جعله التوسع عبر الأنظمة الأساسية موجودًا للعديد من الأنظمة الأخرى منذ نشره لـ Amiga. تم التصويت عليه كأفضل محرر مشهور من قبل قراء Linux Journal في عام 2018؛ وجد استطلاع المطورين، أي Stack Overflow، أنه ثالث أشهر محرر نصوص في عام 2015 وخامس أشهر بيئة تطوير في عام 2019.

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

المتطلبات الأساسية

  • أوبونتو
  • صالة

تاريخ موجز لVIM

تم تصنيع سلف VIM، Stevie، بواسطة Tim Thompson في عام 1987 لـ Atari ST وتم تحسينه بشكل أكبر بواسطة G.R. والتر وتوني أندروز. بدأ Bram Moolenaar العمل على VIM، معتمدًا في تنفيذه على Stevie لنظام Amiga في عام 1988، إلى جانب الإصدار العام الأولي في عام 1991.

العنوان 'لماذا' كان قصيرا ل 'تقليد السادس' خلال إصداره الأولي، ولكن تم تعديله إلى 'لقد تحسننا' في عام 1993.

ترخيص VIM

يتم نشر VIM بناءً على ترخيص Vim. يحتوي على بعض البنود الخيرية التي تلهم المستخدمين الذين يحبون التطبيق للتفكير في المساهمة في الأطفال. ترخيص Vim متوافق مع رخصة GNU العامة من خلال بند فريد يسمح بتوزيع النسخ المتغيرة على GNU GPL 2.0 أو الإصدارات الأحدث.

واجهة VIM

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

يحتوي محرر VIM على برنامج تعليمي مدمج للقادمين الجدد يُعرف باسم vimtutor، والذي تم تثبيته بشكل أساسي مع Vim. ومع ذلك، فهو ملف قابل للتنفيذ مختلف ويمكن تنفيذه باستخدام أمر shell. يوضح دليل مستخدم Vim تفاصيل ميزات Vim ويمكن العثور عليه عبر الإنترنت أو تنفيذه من داخل Vim.

سلسلة إلحاق جافا

يتضمن Vim أيضًا ميزة مساعدة مضمنة، والتي تسمح للمستخدمين بالسؤال والتنقل باستخدام الميزات والأوامر.

السجلات

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

أساليب

يدعم Vim وضعين أو أكثر من أوضاع التحرير مثل vi. يتم تحديد أحرف الكتابة إما كتسلسلات أوامر أو يتم إدخالها كنص، اعتمادًا على الوضع. يتوفر 12 وضع تحرير وستة أشكال مختلفة وستة أوضاع شائعة في Vim:

    الوضع العادي:يستخدم هذا الوضع لأوامر المحرر. بشكل عام، هذا هو الوضع الافتراضي، والضغط على زر ESC يعيد المحرر الحالي إلى هذا الوضع افتراضيًا.وضع الإدراج:يُستخدم هذا الوضع لكتابة النص بطريقة تشبه أحدث برامج التحرير. في المخازن المؤقتة، يمكن تغيير النص المفتوح بإدراج النص من لوحة المفاتيح في هذا الوضع.الوضع المرئي:يُستخدم هذا الوضع لاختيار مناطق النص. يمكن تنفيذ الأوامر في المنطقة المختارة - التصفية، والتحرير، والنقل بواسطة أوامر خارجية أو مدمجة، وما إلى ذلك.
      اتجاه الكتلة المرئية:إنه نوع فرعي للوضع المرئي يختار كتلة نصية مستطيلة حول سطر واحد أو عدة أسطر.البصرية الخطية:إنه نوع فرعي آخر يختار سطرًا واحدًا أو عدة أسطر كاملة.
    حدد الوضع:هذا الوضع هو نفس الوضع المرئي، ولكن لا يتم تفسير الأوامر؛ بدلاً من ذلك، يتم استبدال النص المميز مباشرة عن طريق الإدخال من خلال لوحة المفاتيح، وهو نفس وضع التحديد المستخدم في برامج التحرير على الأنظمة الأساسية لنظام التشغيل Microsoft Windows.وضع Cmdline أو سطر الأوامر:يوفر إدخالاً من سطر واحد في قاعدة نافذة Vim. تؤدي الأوامر وبعض المفاتيح الأخرى لإجراءات معينة (مثل أمر التصفية والبحث عن الأنماط) إلى تشغيل هذا الوضع. يعود محرر Vim إلى الوضع الأقدم عند اكتمال الأمر.الوضع السابق:يقبل هذا الوضع تسلسل الأوامر.

تخصيص VIM

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

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

استبدال كل جافا

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

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

تحسينات وميزات فيم

يتضمن Vim وضع التوافق مع vi، ولكن عند عدم استخدام هذا الوضع، يحتوي Vim على العديد من التحسينات على vi. لكن Vim ليس مناسبًا تمامًا مع vi كما هو محدد في POSIX ومواصفات Single Unix على حدٍ سواء في وضع التوافق. قال مطورو Vim إنه مناسب جدًا لـ Vi.

  • تحتوي بعض التحسينات على Vim على وظائف الإكمال، ودمج ومقارنة الملف (يسمى vimdiff)، والتعبيرات العادية المحسنة، ونظام مساعدة شامل ومتطور، ولغات البرمجة النصية بما في ذلك دعم المكونات الإضافية، وواجهة مستخدم رسومية (تُعرف باسم gvim)، وتفاعل الماوس (بدون و مع واجهة المستخدم الرسومية)، وجوانب محدودة مثل بيئة التطوير، والطي، والتدقيق الإملائي، وتحرير الملفات المؤرشفة والمضغوطة في ملفات وتنسيقات tar وzip وbzip2 وgzip عبر بروتوكولات الشبكة، مثل HTTP وFTP وSSH، والمبوبة والمقسمة windows، والحفاظ على حالة الجلسة، ودعم Unicode واللغات المتعددة، وسجلات موضع المؤشر والبحث، وتمييز بناء الجملة، وأمر عبر الجلسة، والوضع المرئي، والتفرع، وسجل الإعادة/التراجع متعدد المستويات الذي يمكن أن يستمر خلال جلسات التحرير.
  • يقوم Vim بتخزين تغييرات المستخدم في ملف مبادلة باستخدام الامتداد '.swp' أثناء التشغيل.
  • يمكن استخدام هذا الملف للاستعادة بعد الفشل. سيقوم Vim بتنبيه المستخدمين إذا حاولوا فتح أي ملف واستبداله بملفات موجودة بالفعل، وسيستخدم Vim ملف مبادلة باستخدام الامتداد '.swo' إذا استمر المستخدم.
  • يمكن إلغاء تنشيط الوظيفة.

نص فيم

يُعرف أيضًا باسم VimL أو Vimscript. Vim script هي لغة برمجة نصية مدمجة في Vim. أضافت إصدارات Vim المبكرة أوامر لتعريفات الوظائف وتدفق التحكم، وهي لغة المحرر السابقة للمحرر vi الفعلي. منذ الإصدار 7، يدعم Vim script أنواع البيانات الأكثر تطورًا، بما في ذلك القواميس والقوائم، ووضع أسهل للبرمجة الموجهة للكائنات. تسمح العديد من الوظائف المضمنة، بما في ذلك filter() وmap()، بنموذج برمجة وظيفي شائع، ويحتوي البرنامج النصي Vim على lambda منذ الإصدار 8.0. في الغالب، يتم تحديد برنامج Vim النصي في شكل برمجة أمرية.

يمكن أن تتضمن وحدات ماكرو Vim تسلسل أوامر في الوضع العادي، ولكن يمكنها أيضًا طلب وظائف سابقة أو أوامر محددة في برنامج Vim النصي للمهام الأصعب. يتم تحديد معظم الملحقات (المعروفة بالمكونات الإضافية أو البرامج النصية) لوظيفة Vim في البرنامج النصي Vim، على الرغم من أن المكونات الإضافية يمكنها أيضًا استخدام لغات أخرى، مثل Racket أو Tcl أو Ruby أو Lua أو Python أو Perl. يمكن تثبيت هذه المكونات الإضافية يدويًا، أو يمكن تثبيتها بواسطة مدير المكونات الإضافية، مثل Vim-Plug أو Pathogen أو Vundle.

يتم حفظ ملفات البرنامج النصي Vim كنص عادي، مثل التعليمات البرمجية الأخرى، وعادة ما يكون .vim امتدادًا لاسم الملف. أحد الاستثناءات المهمة لذلك هو ملف التكوين الخاص بـ Vim، أي .vimrc.

توفر فيم

بينما كان المحرر vi متاحًا على أنظمة تشغيل Unix في الأصل، فقد تم شحن Vim إلى العديد من أنظمة التشغيل، مثل Atari MinT، وAmigaOS، وDOS، وBeOS، وWindows الذي يبدأ من Windows NT 3.1، وMorphOS، وOS/390، وOS/2، وOpenVMS، نظام تشغيل RISC، وQNX، وBSD، ونظام التشغيل Mac OS الكلاسيكي، وLinux. يتم نقل Vim أيضًا مع Apple macOS. تتوفر منافذ Vim المستقلة لنظامي التشغيل iOS وAndroid.

شوكة فيم

Neovim عبارة عن شوكة Vim تهدف إلى تطوير قابلية الصيانة والتوسيع لـ Vim. تتوفر العديد من ميزات هذه الشوكة، بما في ذلك دعم بروتوكول خادم اللغة المدمج، ودعم الإدخال/الإخراج غير المتزامن، ودعم البرمجة النصية Lua مع مترجم اللغة luaJIT. إنه مشروع برمجي مفتوح المصدر، وكود مصدره موجود على GitHub.

بعد رفض تصحيح Vim الذي يساعد على تعدد الخيوط، بدأ مشروع Neovim في عام 2014. في مارس 2014، كان لديه جمع تبرعات جيد، ودعم مطور واحد بدوام كامل على الأقل. تدعم العديد من الواجهات الأمامية التطوير الذي يستخدم إمكانات Neovim.

حققت Neovim دعمًا مدمجًا لبروتوكول خادم اللغة ودعمًا كاملاً لـ Lua، مثل القدرة على كتابة ملف التكوين الأساسي بلغة Lua بدلاً من VimL مع الإصدار 0.5 من Neovim في 2 يوليو 2021.

تركيب VIM

يعد تثبيت محرر VIM أمرًا سهلاً للغاية، ولا يتطلب سوى أمر واحد للتثبيت. يتم استخدام الأمر التالي لتثبيت محرر VIM.

 $ sudo apt-get install vim 
محرر البرمجيات السادس 1

يكتب 'و' و اضغط يدخل سيبدأ تثبيت الحزم والتطبيق المطلوب.

بعد ذلك، يمكننا تشغيل vim إما من المحطة أو من مدير التطبيقات.

التعبير العادي في جافا

يمكننا العثور عليه في النظام عن طريق كتابة VIM، كما فعلنا أدناه.

محرر البرمجيات السادس 2

انقر على الأيقونة وسيتم فتح محطة لمحرر VIM. يبدو شيئا مثل أدناه.

محرر البرمجيات السادس 3

حسنًا، لقد نجحنا في تثبيت محرر VIM على نظامنا. الآن، يمكننا استخدامه للتشفير بأي لغة برمجة.