Vim vs Neovim: أيهما أفضل ، وأيها يجب أن تستخدمها؟

سواء كنت تعمل على التعليمات البرمجية أو كتابة البرامج النصية أو ببساطة إدارة ملفات التكوين ، فإن اختيارك للمحرر يمكن أن يؤثر بشكل كبير على كل من الإنتاجية والتمتع. يتمثل جمال Linux في أن هناك العديد من خيارات محرر النصوص المتاحة لك للاختيار من بينها ، بما في ذلك VIM ونسخته المحسنة ، Neovim. يستمر النقاش بين VIM vs Neovim في التطور بين مستخدمي Linux ، مع آراء قوية على كلا الجانبين. في هذا الدليل ، سنستكشف VIM و Neovim وقدراتهم والاختلافات الرئيسية بينهما.
ما هو VIM؟
يعد VIM ، أو VI ، إصدارًا أكثر تقدماً وغنية بالميزات من محرر النصوص الأقدم يسمى VI ، والذي كان أداة أساسية في أنظمة التشغيل UNIX. يعمل على منصات متعددة ، بما في ذلك أنظمة UNIX و Windows و MacOS والمزيد. إذا كنت تستخدم MacOS أو أي توزيع Linux ، فهناك فرصة جيدة جدًا لتثبيت VIM بالفعل وجاهز للاستخدام على نظامك.
إذا لم يتم تثبيته ، فيمكنك تثبيته بسهولة باستخدام مدير الحزمة الافتراضي. على سبيل المثال ، في Ubuntu ، ستستخدم:
sudo apt install vim
بعد التثبيت ، اكتب فقط همة في المحطة لإطلاقه.
يوفر VIM بيئة تحرير مشروط يتيح لك التنقل من خلال الملفات ، وإجراء التعديلات ، وحفظ عملك ، وأداء العديد من الإجراءات الأخرى – كل ذلك دون الحاجة إلى استخدام الماوس. بالإضافة إلى ذلك ، يمكنك تعديل كل جانب من جوانب سلوكه ومظهره لتناسب سير عملك تمامًا من خلال ملف التكوين. المشكلة الوحيدة هي أنه قد يكون من الصعب استخدام مستخدم جديد ، وبعضهم يعاني من مشكلة في الخروج من VIM.
ما هو Neovim؟
Neovim يبني على إرث السادس و VIM. نشأت كشوكة لـ VIM في عام 2014 ، تهدف إلى معالجة القيود المتصورة في بنية VIM مع الحفاظ على فلسفة التحرير المشروط التي يحبها العديد من المستخدمين. يعمل Neovim كإسراز للاستبدال لـ VIM ، مما يعني أنه يمكنك متابعة ملف التكوين الحالي “.vimrc”.
للاستخدام الأساسي ، يشعر Neovim بالتطابق مع VIM. ما يميز Neovim عن بعض الدعم للميزات الحديثة مثل المعالجة غير المتزامنة ، والتي تسمح للعمليات بالتشغيل في الخلفية دون تجميد الواجهة. تشمل الميزات الأخرى مضاهاة محطات مدمجة ، مما يمكّن المستخدمين من تشغيل أوامر Shell دون مغادرة المحرر.
على عكس VIM ، لا يأتي Neovim مسبقًا. ومع ذلك ، فإن تثبيت Neovim بسيط. على سبيل المثال ، على Ubuntu ، قم بتشغيل:
sudo apt install neovim

بعد التثبيت ، ابدأ Neovim مع نفيم يأمر.

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

أيضًا ، بفضل بنية Neovim غير المتزامنة ، يمكن أن تعمل المهام في الخلفية دون قفل المحرر. يمكنك الحصول على اقتراحات الإكمال التلقائي ، أو تشغيل المبيدات ، أو تحميل مشاريع كبيرة ، ويستمر Neovim بسلاسة.
Neovim لا يدعم المكونات الإضافية VIM فقط – فهو يحسنها. يعتمد نظام Plugin الخاص بـ VIM اعتمادًا كبيرًا على Vimscript ، والذي يمكن أن يكون مقيدًا وأصعب في العمل معه. يوسع Neovim هذا من خلال دعم Lua ، وهي لغة نصية حديثة وخفيفة الوزن. أدوات مثل telescope.nvim
و nvim-treesitter
تقدم تمييزًا أفضل للبحث والجملة بشكل أفضل مما يوفره VIM.
يعالج Neovim أيضًا ملفات التكوين بطريقة أكثر موحدة. بينما يقوم VIM بتخزين التكوينات والمكونات الإضافية في دليل “~/.VIM” المتشددين ، يتبع Neovim مواصفات دليل قاعدة XDG ، مما يضع الملفات في “~/.config/nvim”. يحافظ هذا الهيكل على نظافة تنظيم الملفات وأكثر مرونة. على الرغم من هذا الاختلاف ، يظل Neovim متوافقًا مع ملفات تكوين VIM.
مثل VIM ، يوفر Neovim واجهة مستخدم قائمة على الطرفية ، ولكنه يضيف راحة محاكي طرفي مدمج. إلى جانب المحطة ، تدعم Neovim واجهات المستخدم الرسومية الحديثة مثل Oni و Gonovim و VIMR.
إيجابيات وسلبيات VIM و Neovim
دعنا نناقش إيجابيات وسلبيات كل محرر حتى تتمكن من تحديد أفضل ما يتوافق مع احتياجاتك.
إيجابيات Vim:
- تم تثبيته مسبقًا على الغالبية العظمى من الأنظمة القائمة على Linux
- استقرار استثنائي مع قاعدة كود ناضجة واختبار جيد
- اعتماد واسع النطاق ودعم المجتمع
- يؤدي أداءً جيدًا على الأنظمة ذات الموارد المحدودة أو النطاق الترددي
سلبيات VIM:
- يمكن أن يكون منحنى التعلم الأولي حادًا جدًا
- يمكن أن تكون إدارة الإضافات أكثر تعقيدًا
- يعد دمج بعض الميزات الحديثة أكثر صعوبة
- يفتقر إلى الدعم المدمج لبروتوكول خادم اللغة (LSP)
إيجابيات Neovim:
- يوفر أداء محسّن وتجربة مستخدم أكثر استجابة
- دعم مدمج لبروتوكول خادم اللغة
- يوفر Lua Scripting طريقة أكثر كفاءة لتطوير وتكوين الإضافات
- إدارة البرنامج المساعد أسهل بشكل عام وأكثر تبسيطًا
- يأتي مع إعدادات افتراضية أكثر عقلانية وسهلة الاستخدام
- يتضمن محاكي طرفي مدمج
سلبيات Neovim:
- لم يتم تثبيته افتراضيًا على معظم الأنظمة
- قد تتطلب بعض المكونات الإضافية VIM التي تعتمد على ميزات VIM الخاصة بالتعديلات
- قد لا تعمل المكونات الإضافية الأقدم VIM بشكل مثالي بدون تعديلات
- يستخدم موارد أكثر بقليل من VIM
- يتطلب التبديل إلى LUA للتكوين تعلم لغة جديدة
أي واحد يجب أن تستخدمه: Neovim vs. Vim؟
يعتمد الاختيار بين VIM و Neovim على سير العمل ومستوى الراحة وما تحتاجه من محرر. اذهب مع VIM إذا كنت تعمل غالبًا على أنظمة مختلفة حيث لا يمكنك تثبيت برامج جديدة – فهي متوفرة في كل مكان تقريبًا. إنه أمر رائع أيضًا إذا كنت تريد محررًا مستقرًا وخفيف الوزن نادراً ما يتغير ويعمل بشكل جيد في البيئات ذات الموارد المنخفضة. أيضا ، التمسك به إذا كنت قد قضيت بالفعل سنوات في صياغة إعداد VIM الخاص بك.
من ناحية أخرى ، اختر Neovim إذا كنت تريد تجربة تحرير حديثة. لديها افتراضات أفضل ، ودعم المجتمع النشط ، وميزات مثل LSP المدمجة والبرمجة النصية LUA. إنه مثالي إذا كنت مطورًا يريد ميزات تشبه IDE دون الانتفاخ. وإذا كنت جديدًا على التحرير المشروط ، فإن الافتراضات الأكثر ذكاءً في Neovim تجعل منحنى التعلم أسهل.
الأفكار النهائية
بينما يخدم كل من VIM و Neovim نفس الغرض الأساسي ، يقدم Neovim تجربة تحرير أكثر حداثة وقادرة. إنه يعتمد على أساس VIM مع تحسين الأداء ، وتطوير البرنامج المساعد الأسهل ، وتكامل LSP ، ودعم واجهة المستخدم المحسن. هذه التحسينات تجعل Neovim بديلاً قويًا للمطورين الذين يبحثون عن محرر أكثر قوة وقابلية التوسيع.
يستخدم العديد من المطورين كلاهما – Neovim لأعمال التنمية المحلية ، و VIM لإجراء تعديلات سريعة على الخوادم البعيدة. شخصيا ، لقد جربت كليهما واستقرت على VIM بسبب موثوقيته وتوافره عبر توزيعات Linux المتعددة.
في نهاية المطاف ، يشتركون في معظم المهارات نفسها والرائدات الرئيسية ، لذلك فإن تعلم المرء يجعلك تقديراً في الآخر. هذه ليست مجرد محررين – ما يجعل Linux Special هو مجموعة واسعة من خيارات المحرر المتاحة لتناسب تفضيل كل مستخدم.