ما هو Neovim؟ محرر النصوص العصري، البسيط، والقابل للتخصيص بشكل كبير

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

ما هو NeoVim؟

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

في هذه المقالة سوف نتعمق في تفاصيل Neovim، ونشرح أصوله، واختلافاته مع Vi وVim، ومزاياه الرئيسية، وفلسفة التصميم وكيفية أخذ التجربة إلى مستوى آخر باستخدام المكونات الإضافية والتكوينات والحيل. يُقدَّم كل هذا بأسلوب عملي وصادق، مبني على تجارب واقعية ودروس مستفادة ممن انتقلوا بالفعل. إذا كنت شغوفًا بالإنتاجية والكفاءة والأدوات التي يمكنك تخصيصها، فهذا الكتاب مناسب لك.

نيوفيم: ما هو ومن أين يأتي

Neovim هو محرر نصوص مجاني ومفتوح المصدر، تم تصميمه ليعمل بشكل أساسي في المحطة الطرفية. إنه "شوكة" من Vim، أي فرع من الكود الأصلي الذي ولد في عام 2014 بهدف تحديث وتنظيف وتعزيز كل الأشياء الجيدة التي كان يتمتع بها Vim، مما يجعله أكثر كفاءة وبهندسة معمارية جاهزة للمستقبل.

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

ولوضع هذا في سياقه، من المفيد أن نتوقف أولاً ونفهم النسب بإيجاز:

  • السادس (1976): محرر سطر الأوامر الأصلي الذي أنشأه بيل جوي، وهو مصمم للتحرير الأساسي والمستقر على أي نظام يونكس.
  • Vim (Vi IMproved، 1991): التطور المباشر لبرنامج Vi، الذي أنشأه Bram Moolenaar، يوسع وظائفه (الألوان، الإكمال التلقائي، التراجع المتعدد، الوضع المرئي، المكونات الإضافية، وغيرها).
  • نيوفيم (2014): إنه يتخلى عن بعض تراث Vim الأكثر صرامة ليختار قاعدة معيارية، وهندسة حديثة، ودعم أصلي للميزات الحالية مثل LSP (بروتوكول خادم اللغة)، والمكونات الإضافية غير المتزامنة، والكتابة النصية باستخدام Lua.

المزايا الرئيسية وفلسفة نيوفيم

تتميز Neovim ليس فقط بميزاتها التقنية، ولكن أيضًا بطريقتها المختلفة في فهم تحرير النصوص في المحطة الطرفية. وفقًا للفريق نفسه، "يجب أن يكون المحرر لغةً بحد ذاته". وهذا يُترجم إلى نهجٍ بسيطٍ للغاية وقوي، مُصمم ليتمكن المستخدم من توسيع نطاقه.

ومن أهم مميزاتها:

  • السرعة والخفة: يبدأ Neovim ويستجيب بشكل أسرع بكثير من المحررين الآخرين، حتى في المشاريع الكبيرة أو على الأنظمة الأقل قوة.
  • إمكانية التوسعة غير المحدودة: تتيح لك الهندسة المعيارية ودعم المكونات الإضافية بأي لغة والتكامل الأصلي مع Lua تخصيص كل تفاصيل المحرر، من الواجهة المرئية إلى السلوك عند تحرير الكود.
  • التوافق الكامل تقريبًا مع Vim: إذا كنتَ مستخدمًا لبرنامج Vim بالفعل، يمكنك استيراد نصوصك البرمجية وتكويناتك (Vimscript و.vimrc) إلى Neovim مع تغييرات بسيطة. كما يتيح لك هذا الانتقال السلس.
  • دعم LSP والأدوات الحديثة: يتيح التكامل الأصلي مع بروتوكول خادم اللغة (LSP) تسهيل الإكمال التلقائي الذكي والتشخيص والتنقل في التعليمات البرمجية، تمامًا كما هو الحال في أفضل بيئات التطوير المتكاملة (IDE) اليوم.
  • مجتمع نشط ونظام بيئي سريع النمو للمكونات الإضافية: سواء كنت تبحث عن محرر بسيط أو تريد تحويل Neovim إلى بيئة تطوير كاملة، هناك العشرات من المكونات الإضافية والموضوعات لتناسب جميع الأذواق، وجاهزة للتثبيت في ثوانٍ.

الاختلافات الرئيسية بين Vi وVim وNeovim

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

  • أنت: إنه المحرر القياسي في بيئات يونكس. بسيط للغاية، بدون ألوان، ولا تمييز لغوي، وباختصارات حديثة قليلة، وواجهة بسيطة. ميزته: أنه متاح دائمًا على خوادم ووحدات تحكم يونكس، مع أنه نادرًا ما يكون قابلًا للتخصيص.
  • همة: يحتفظ هذا البرنامج بالوظائف الأساسية لـ Vi، ولكنه يُوسّعها: واجهات أكثر جاذبية بصريًا، وألوان، وتمييز بناء الجملة، وأنماط مرئية، واختصارات مخصصة، وإكمال تلقائي، ونوافذ متعددة، وعلامات تبويب. إعداداته الأساسية موجودة في ملف .vimrc، مما يسمح بتخصيص شبه كامل، ولكنه قد يكون معقدًا في كثير من الأحيان للمستخدمين الجدد.
  • نيوفيم: إنه التطور الأكثر حسمًا، إذ يختار قاعدة برمجية أنظف وأكثر مرونة وأسهل صيانة. يكسر قيود Vim الكلاسيكية (مثلًا، في الإضافات والعمليات غير المتزامنة)، ويسمح لك بكتابة التكوينات محليًا بلغة Lua، بالإضافة إلى توفير تكامل مباشر مع واجهات برمجة التطبيقات الحديثة، وأنظمة إضافات أبسط وأسرع بكثير، وميزات مثل واجهة طرفية متكاملة ودعم فعال للغات متعددة.

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

الميزات التقنية الرئيسية لـ Neovim

  • قابلة للتوسعة بدرجة كبيرة: بفضل واجهة برمجة التطبيقات الموثقة جيدًا والمسجلة الإصدارات، يمكن تطوير الإضافات والمكونات الإضافية بأي لغة تقريبًا (Python، وLua، وShell، وما إلى ذلك).
  • محطة متكاملة: إنه يسمح لك بفتح وحدات التحكم مباشرة من المحرر نفسه، وهو مثالي لتشغيل الأوامر، أو تجميع التعليمات البرمجية، أو استخدام مديري المهام، أو حتى تشغيل البرامج النصية دون مغادرة بيئة العمل.
  • التوافق مع Vim/Vimscript v1: سيجد المستخدمون القادمون من Vim أن الانتقال سلس للغاية، حيث تستمر معظم البرامج النصية والإعدادات في العمل.
  • التكوين الجاهز للاستخدام: إعداد Neovim الافتراضي يعمل بكفاءة عالية. التخصيص ليس ضروريًا منذ البداية (ولكنه مصمم لتمكينك من القيام به في أسرع وقت ممكن).
  • الدعم الأصلي للغة Lua: تتيح لغة Lua إنشاء نصوص برمجية وتكوينات أكثر وضوحًا وقراءةً وكفاءةً. وقد أدى ذلك إلى نمو سريع في مجتمع مطوري الإضافات وظهور تكوينات متقدمة حقًا.
  • وضع غير متزامن وتنفيذ البرنامج الإضافي بالتوازي: هناك تحسين كبير آخر وهو أن المكونات الإضافية لا تمنع المحرر، ولكن بدلاً من ذلك تعمل كعمليات متوازية، مما يجعل التجربة أكثر مرونة وسلاسة.

منحنى التعلم: الخبرة الشخصية والتحديات والمكافآت

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

يتفق العديد من المستخدمين على أن التجربة الأولية صعبة. فالتكيف مع الحركات، وتعلم الأوامر الأساسية، وإتقانها يستغرق وقتًا. يختار بعض المستخدمين تثبيت إضافات "vim-motions" أولًا في محررات نصوص تقليدية أخرى، مما يسمح بانتقال أكثر سلاسة. مع الممارسة والصبر، يمكن التغلب على العقبة الأولية، وتصبح السرعة المتزايدة ملحوظة في المهام اليومية، خاصةً عند التحرير، أو إعادة الهيكلة، أو التنقل بين قواعد الأكواد الكبيرة.

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

الميزات الجديدة والمزايا التنافسية

من أهم مميزات Neovim هي قدرته على التكامل مع الأدوات الحديثة ونظامه البيئي المتنامي. يتيح هذا للمستخدمين الاستفادة من الميزات المتقدمة دون التضحية بالأداء، والتكيف مع أساليب العمل الحالية.

على سبيل المثال، يُسهّل التكامل الأصلي مع بروتوكول LSP الإكمال التلقائي، وتصفح الأكواد البرمجية، والتشخيصات الفورية، مما يُضاهي إنتاجية بيئات التطوير المتكاملة (IDEs) الأثقل دون المساس بخفة وزن مُحرّر سطر الأوامر. تعرّف على المزيد ما هو Visual Studio Code؟ وكيف يتم مقارنته مع Neovim.

ترك تعليق