суллах , Vim засварлагчийн сэрээ, сунгах, уян хатан байдлыг нэмэгдүүлэх. Төслийн анхны бүтээн байгуулалтууд Apache 2.0 лицензийн дагуу, үндсэн хэсэг нь Vim лицензийн дагуу.
Neovim төсөл нь Vim кодын баазыг таван жилийн турш дахин боловсруулж, кодыг засварлахад хялбар болгож, олон засварлагчдын хооронд хөдөлмөрийг хуваах, интерфэйсийг үндсэн хэсгээс тусгаарлах (интерфэйсийг дотоод хэсгүүдэд хүрэлгүйгээр өөрчлөх боломжтой) өөрчлөлтүүдийг нэвтрүүлж байна. залгаасууд дээр суурилсан.
Neovim-ийг бүтээхэд түлхэц болсон Vim-тэй холбоотой асуудлуудын нэг нь түүний 300 мянга гаруй мөр C (C89) кодоос бүрдсэн цул кодын суурь юм. Цөөн хэдэн хүмүүс Vim кодын бүх нарийн ширийнийг ойлгодог бөгөөд бүх өөрчлөлтийг нэг засварлагч удирддаг бөгөөд энэ нь засварлагчийг хадгалах, сайжруулахад хэцүү болгодог. GUI-г дэмжихийн тулд Vim цөмд суулгасан кодын оронд Neovim нь төрөл бүрийн хэрэглүүрийг ашиглан интерфейс үүсгэх боломжийг олгодог бүх нийтийн давхаргыг ашиглахыг санал болгож байна.
Neovim-д зориулсан залгаасууд нь MessagePack форматыг ашигладаг тусдаа процесс болгон ажиллуулдаг. Залгаасуудтай харилцах нь засварлагчийн үндсэн бүрэлдэхүүн хэсгүүдийг хаахгүйгээр асинхрон байдлаар явагддаг. Plugin руу нэвтрэхийн тулд TCP залгуурыг ашиглаж болно, i.e. залгаасыг гадаад систем дээр ажиллуулж болно. Үүний зэрэгцээ Neovim нь Vim-тэй нийцтэй хэвээр байгаа бөгөөд Vimscript-ийг үргэлжлүүлэн дэмждэг (Луа нь өөр хувилбараар санал болгодог) бөгөөд ихэнх стандарт Vim залгаасуудын холболтыг дэмждэг. Neovim-ийн дэвшилтэт функцуудыг Neovim-ийн тусгай API ашиглан бүтээсэн залгаасуудад ашиглаж болно.
Одоогоор аль хэдийн Төрөл бүрийн програмчлалын хэл (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) болон фреймворк (Qt5, ncurses, Node.js, Electron, GTK+) ашиглан залгаас үүсгэх, интерфейсийг хэрэгжүүлэхэд зориулагдсан 80 орчим тусгай залгаасууд байдаг. Хэрэглэгчийн интерфейсийн хэд хэдэн сонголтыг боловсруулж байна. GUI нэмэлтүүд нь олон талаараа залгаасуудтай төстэй боловч залгаасуудаас ялгаатай нь Neovim функцууд руу залгадаг бол залгаасуудыг Neovim дотроос дууддаг.
Зарим өөрчлөлтүүд :
- Олон тооны шинэ API функцууд болон хэрэглэгчийн интерфэйсийн үйл явдлууд нэмэгдсэн.
- Луа хэл дээр залгаасуудыг хөгжүүлэх Nvim-Lua стандарт номын сан нэмэгдсэн.
- Дэлгэц дээрх мэдээллийг хувь хүний тэмдэгтээс илүү шугамын түвшинд шинэчилдэг хэрэглэгчийн интерфейсийн протоколыг үргэлжлүүлэн хөгжүүлэх.
- Хаана ч байрлуулж, залгаж, тусдаа засварлах буферт холбож, Multigrid горимд бүлэглэж болох бүрэн хэмжээний хөвөгч цонхнуудын дэмжлэг нэмэгдсэн.
- Тунгалаг унждаг цэсэнд 'pumblend' сонголтыг нэмсэн.
Эх сурвалж: opennet.ru
