تم تقديم إطلاق الإصدار الجديد من Neovim 0.4 وهو أحد فروع محرر Vim الذي يركز على زيادة القابلية للتوسعة والمرونة.
بالنسبة لأولئك الذين ليسوا على دراية بمشروع Neovim ، يجب أن يعرفوا ماذاهذا واحد قد تم إعادة صياغة قاعدة رمز Vim لأكثر من خمس سنوات ، نتيجة لذلك تم إجراء تغييرات لتبسيط صيانة الكود، مما يوفر وسيلة لتقسيم العمل بين عدة جهات صيانة ، وفصل الواجهة عن القاعدة (يمكن تغيير الواجهة دون لمس الداخل) وتنفيذ بنية جديدة قابلة للتوسيع تعتمد على المكونات الإضافية.
من مشاكل Vim التي أدت إلى إنشاء Neovim تتكون من أكثر من 300 ألف سطر من كود C. لا يفهم سوى عدد قليل من الناس جميع الفروق الدقيقة في قاعدة كود Vim ويتم التحكم في جميع التغييرات بواسطة مشرف ، مما يجعل من الصعب الحفاظ عليها والعمل على تحسينها.
بدلاً من الشفرة المضمنة في Vim core لدعم واجهة المستخدم الرسومية ، تقترح Neovim استخدام طبقة عالمية تسمح لك بإنشاء واجهات باستخدام مجموعات أدوات مختلفة.
تعمل المكونات الإضافية لـ Neovim كعمليات منفصلة، والتي يتم استخدام تنسيق MessagePack لها. يتم التفاعل مع المكونات الإضافية في الوضع غير المتزامن ، دون حجب المكونات الأساسية للمحرر.
للوصول إلى المكون الإضافي ، يمكن استخدام مقبس TCP ، أي يمكن تشغيل المكون الإضافي على نظام خارجي.
في الوقت نفسه ، لا يزال Neovim متوافقًا مع الإصدارات السابقة مع Vim ، يواصل دعم Vimscript (كبديل لـ Lua) ويدعم المكونات الإضافية لمعظم ملحقات Vim القياسية. يمكن استخدام ميزات Neovim المتقدمة في المكونات الإضافية التي تم إنشاؤها باستخدام واجهة برمجة التطبيقات الخاصة بـ Neovim.
تم بالفعل إعداد حوالي 80 مكونًا إضافيًا محددًا ، وهناك مجلدات متاحة لإنشاء المكونات الإضافية وتطبيقات الواجهة باستخدام لغات البرمجة المختلفة (C ++ و Clojure و Perl و Python و Go و Java و Lisp و Lua و Ruby) والأطر (Qt5) ، ncurses ، Node .js ، Electron ، GTK +). يجري تطوير خيارات مختلفة لواجهة المستخدم.
المكونات الإضافية لواجهة المستخدم الرسومية تشبه إلى حد بعيد المكونات الإضافية ، ولكن على عكس المكونات الإضافية ، فإنها تبدأ استدعاءات لوظائف Neovim ، بينما تسمى المكونات الإضافية من Neovim.
يتم توزيع التطورات الأصلية للمشروع بموجب ترخيص Apache 2.0 والجزء الأساسي بموجب ترخيص Vim.
الأخبار الرئيسية من Neovim 0.4
مع إصدار هذا الإصدار الجديد من Neovim 0.4 تمت إضافة الكثير من وظائف واجهة برمجة التطبيقات الجديدة وأحداث واجهة المستخدم إلى التطبيق.
بالإضافة إلى أنه تم أيضًا إبراز ذلك أضاف مكتبة Nvim-Lua قياسية جديدة لتطوير الإضافات بلغة Lua.
من ناحية أخرى ، يستمر تطوير بروتوكول واجهة المستخدم ، والذي يقوم بتحديث المعلومات على الشاشة على مستوى الخط ، بدلاً من الأحرف الفردية.
وهذا أيضًا في Neovim 0.4 دعم إضافي للنوافذ العائمة الكاملة يمكن وضعها في أي مكان ، مرفق ، مرتبط بمخازن التحرير الفردية ، مجمعة في وضع Multigrid.
الآن لحالة التثبيت من هذا الإصدار الجديد في Linux ومن المهم التأكيد على أن Neovim ضمن الأغلبية من المستودعات من التوزيعات الأكثر شيوعًا.
على أية حال المشكلة الوحيدة في الوقت الحالي هي أن الإصدار الجديد لم يتم تحديثه بعد في مستودعات معظم توزيعات Linux.
كما حاليا فقط Arch Linxu ومشتقاته لديهم بالفعل توافر هذه الحزمة.
للتثبيت على آرتش ومشتقاته، عليهم فقط فتح محطة وسيكتبون فيها الأمر التالي:
sudo pacman -S neovim
في حين بالنسبة لمستخدمي Debian و Ubuntu والمشتقات ، يمكنهم تثبيت الحزمة الجديدة بمجرد توفرها تنفيذ الأمر في المحطة:
sudo apt install neovim
في حالة مستخدمي Fedora ومشتقاته:
sudo dnf install neovim
مستخدمو OpenSUSE:
sudo zypper install neovim
أخيرًا لمستخدمي Gentoo
emerge -a app-editors/neovim