I-Neovim 0.6.0 ikhutshwe, ifolokhwe yomhleli we-Vim igxile ekwandiseni ukwanda kunye nokuguquguquka. Iprojekthi iye yasebenza kwakhona isiseko sekhowudi yeVim iminyaka engaphezu kwesixhenxe, ngenxa yoko utshintsho olwenziweyo olulula ukugcinwa kwekhowudi, ukubonelela ngeendlela zokwahlula umsebenzi phakathi kwabagcini abaninzi, ukwahlula i-interface ukusuka kwisiseko senxalenye (i-interface ingaba itshintshiwe ngaphandle kokubamba abangaphakathi) kwaye uphumeze ulwakhiwo olutsha olusekelwe kwiiplagi. Uphuhliso lwangaphambili lweprojekthi lusasazwa phantsi kwelayisensi ye-Apache 2.0, kwaye inxalenye esisiseko isasazwa phantsi kwelayisensi yeVim. Iindibano esele zenziwe zilungiselelwe iLinux (appimage), iWindows kunye neMacOS.
Enye yeengxaki zeVim eziye zabangela ukudalwa kwe-Neovim yi-bloated, i-monolithic codebase engaphezulu kwemigca ye-300 yekhowudi ye-C (C89). Bambalwa abantu abaqonda zonke iinqununu zekhowudi yeVim, kwaye zonke iinguqu zilawulwa ngumlondolozi omnye, okwenza kube nzima ukugcina nokusebenza ekuphuculeni umhleli. Endaweni yekhowudi eyakhelwe kwi-Vim core ukuxhasa i-GUI, i-Neovim iphakamisa ukusebenzisa umaleko wendalo yonke okuvumela ukuba wenze ujongano usebenzisa izixhobo ezahlukeneyo zezixhobo.
Iiplagi zeNeovim ziqaliswa njengeenkqubo ezahlukeneyo, zokunxibelelana apho kusetyenziswa ifomati yeMessagePack. Ukusebenzisana kunye ne-plug-ins kwenziwa kwimodi esynchronous, ngaphandle kokuthintela amacandelo asisiseko somhleli. I-socket ye-TCP ingasetyenziselwa ukufikelela kwiplagin, okt. iplagin ingasebenza kwindlela yangaphandle. Kwangaxeshanye, iNeovim ihlala ngasemva ihambelana neVim, iyaqhubeka nokuxhasa iVimscript (iLua inikezelwa njengenye indlela) kwaye ixhasa uqhagamshelo lweeplagi zeVim eziqhelekileyo. Iimpawu eziphambili zeNeovim zinokusetyenziswa kwiiplagi ezakhiwe kusetyenziswa iNeovim-specific API.
Okwangoku, malunga neeplagi ezithile ze-130 sele zilungisiwe, izibophelelo ziyafumaneka ekudaleni iiplagi kunye nokuphumeza ujongano kusetyenziswa iilwimi ezahlukeneyo zeprogram (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) kunye nesikhokelo (Qt, ncurses, Node .js, Electron, GTK). Iinketho ezininzi zojongano lomsebenzisi ziyaphuhliswa. Izongezo ze-GUI zifana neeplagi ngeendlela ezininzi, kodwa ngokungafaniyo neeplagi, ziqalisa iifowuni kwimisebenzi ye-Neovim, ngelixa iiplagi zibizwa ngaphakathi kwe-Neovim.
Olunye utshintsho kwinguqulelo entsha:
- Π vim-ΡΠΊΡΠΈΠΏΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ.
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ·ΡΠΊΠ° Lua Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ. Π vim-ΡΠΊΡΠΈΠΏΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° Lua-ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠ΅ΡΠ΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° v:lua (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«arg1->v:lua.somemod.func(arg2)Β»).
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ LSP-ΠΊΠ»ΠΈΠ΅Π½ΡΠ° (Language Server Protocol), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ½ΠΎΡΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π°Π²ΡΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ LSP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ 150 Π³ΠΎΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠΎΠ΄Π° Visual Studio Code.
- Π£Π»ΡΡΡΠ΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΠ»Π°Π²Π°ΡΡΠΈΡ ΠΎΠΊΠΎΠ½ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ LSP-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π±Π»ΠΎΠΊΠΎΠ² ΡΠΎ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° Ρ ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΈΠΌΡΠ½ Π³ΡΡΠΏΠΏ.
- ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Windows 7 ΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΡΠ±ΠΎΡΠΎΠΊ Π΄Π»Ρ Windows.
umthombo: opennet.ru