Neovim 0.7.0 ááᯠáá¯ááºáá±áá²á·ááŒá®ážá áá»á²á·ááœááºááá¯ááºááŸá¯ááŸáá·áº ááŒá±á¬ááºážááœááºááŒááºááœááºááᯠááá¯ážááŒáŸáá·áºááẠá¡á¬áá¯á¶á áá¯ááºáá¬ážááá·áº Vim áááºážááŒááºáá°á áááºáááºážáá áºáá¯ááŒá áºáááºá ááá±á¬áá»ááºááẠVim áá¯ááºá¡ááŒá±áá¶ááᯠáá¯áá áºááŸá áºáá»á±á¬áºááŒá¬ ááŒááºáááºááŒá¯ááŒááºáá²á·ááŒá®ážá áá¯ááºááŒá¯ááŒááºááááºážááááºážááŸá¯ááᯠááá¯ážááŸááºážááœááºáá°á á±ááá·áº á¡ááŒá±á¬ááºážá¡áá²áá»á¬ážááᯠááŒá¯áá¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº ááŒá¯ááŒááºááááºážááááºážáá°á¡áá»á¬ážá¡ááŒá¬ážá¡ááŒá¬áž áá¯ááºá¡á¬ážááœá²áá±áá±ážááŒááºážá á¡ááºáá¬áá±á·á áºááᯠá¡ááŒá±áá¶á¡ááá¯ááºážá០ááœá²áá¯ááºááŒááºáž (á¡ááºáá¬áá±á·á áºááẠááŒá áºááá¯ááºáááºá á¡ááœááºážááá¯ááºážááᯠááááá² ááŒá±á¬ááºážáá²áá¬ážáááº) ááŸáá·áº plugins áá»á¬ážááᯠá¡ááŒá±áá¶á ááá¯ážáá»á²á·ááá¯ááºáá±á¬ áááá¯áá¬á¡áá áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá«á ááá±á¬áá»ááºá áá°áááá¯ážáááºááŸá¯áá»á¬ážááᯠApache 2.0 ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážááŒá®áž á¡ááŒá±áá¶á¡ááá¯ááºážááᯠVim ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá á¡áááºááá·áºáá¯ááºáá¬ážáá±á¬ á á¯áá±ážááŸá¯áá»á¬ážááᯠLinux (appimage)á Windows ááŸáá·áº macOS á¡ááœáẠááŒááºáááºáá¬ážáá«áááºá
Neovim ááá¯áááºáá®ážááẠááœááºážá¡á¬ážáá±ážáá²á·áá±á¬ Vim áááŒá¿áá¬áá áºáá¯ááŸá¬ C (C300) áá¯ááºááá¯ááºážáá±á«ááºáž 89 áá»á±á¬áºáá«ááŸááá±á¬ áááºážááá±á¬ááºážáá¬ážáá±áá±á¬ monolithic code base ááŒá áºáááºá Vim codebase á áá°ážááŒá¬ážáá»ááºá¡á¬ážáá¯á¶ážááᯠáá°á¡áááºážáááºááᬠáá¬ážáááºááŒááŒá®áž ááŒá±á¬ááºážáá²ááŸá¯á¡á¬ážáá¯á¶ážááᯠááááºážááááºážáá°ááŠážáááºážá ááááºážáá»á¯ááºáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááŒááºáá°ááᯠááááºážááááºážáááºááŸáá·áº ááá¯ážáááºááẠáááºáá²á á±áááºá GUI ááá¯áá¶á·ááá¯ážááẠVim core ááœááºáááºáá±á¬ááºáá¬ážáá±á¬áá¯ááºá¡á á¬ážá Neovim ááẠtoolkits á¡áá»áá¯ážáá»áá¯ážááá¯á¡áá¯á¶ážááŒá¯á interfaces áá»á¬ážááá¯áááºáá®ážáááºááœáá·áºááŒá¯ááá·áº universal layer ááá¯á¡áá¯á¶ážááŒá¯á á¡ááá¯ááŒá¯áááºá
MessagePack áá±á¬áºáááºááᯠá¡áá¯á¶ážááŒá¯ááá·áº á¡ááŒááºá¡ááŸááºáá¯á¶á·ááŒááºááŸá¯á¡ááœáẠNeovim á¡ááœáẠááááºá¡ááºáá»á¬ážááᯠáá®ážááŒá¬ážáá¯ááºáááºážá ááºáá»á¬ážá¡ááŒá Ạá áááºáá±á¬ááºááœááºáá«áááºá áááºážááŒááºáá°á á¡ááŒá±áᶠá¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠáááááºááá¯á·áá² ááááºá¡ááºáá»á¬ážááŸáá·áº á¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºááŸá¯ááᯠáááŒáá¯ááºáááºáž áá¯ááºáá±á¬ááºáá«áááºá ááááºá¡ááºááá¯áááºáá±á¬ááºááẠTCP socket ááá¯áá¯á¶ážááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬á plugin ááᯠááŒááºáá áá áºáá áºáá¯áá±á«áºááœáẠáá¯ááºáá±á¬ááºááá¯ááºáááºá áá áºáá»áááºáááºážááŸá¬áááºá Neovim ááẠVim ááŸáá·áº áá±á¬ááºááŒááºáááá¬áááŒá áºáá±áá²ááŒá áºááŒá®áž Vimscript ááᯠáááºáááºáá¶á·ááá¯ážáá±ážááẠ(Lua ááᯠá¡ááŒá¬ážááœá±ážáá»ááºá áá¬á¡ááŒá ẠáááºážááŸááºážáááº) ááŸáá·áº áá¯á¶ááŸáẠVim plugins á¡áá»á¬ážá á¯á¡ááœáẠáá»áááºáááºááŸá¯áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáá«áááºá Neovim áá¡ááá·áºááŒáá·áºá¡ááºá¹áá«áááºáá»á¬ážááᯠNeovim-specific APIs áá»á¬ážá¡áá¯á¶ážááŒá¯á áááºáá±á¬ááºáá¬ážáá±á¬ ááááºá¡ááºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
áááºááŸáááœááºá áá®ážááŒá¬ážááááºá¡ááºáá±á«ááºáž 130 ááá·áºááᯠááŒááºáááºáá¬ážááŒá®ážááŒá áºááŒá®ážá á¡áá»áá¯ážáá»áá¯ážáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬ážáá»á¬áž (C++á Clojureá Perlá Pythoná Goá Javaá Lispá Luaá Ruby) ááŸáá·áº frameworks (Qtá ncursesá Node .jsá Electroná GTK)á á¡áá¯á¶ážááŒá¯áá° á¡ááºáá¬áá±á·á Ạááœá±ážáá»ááºá áᬠá¡áá»á¬ážá¡ááŒá¬ážááᯠáá®ááœááºáá»ááºááŸááááºá GUI á¡ááá¯áááá¯ááááºáá»á¬ážááẠááááºá¡ááºáá»á¬ážááŸáá·áº áá»á¬ážá áœá¬áá°áá±á¬áºáááºáž ááááºá¡ááºáá»á¬ážááŸáá·áº ááá°áá²á áááºážááá¯á·ááẠNeovim áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááá¯á· áá±á«áºááá¯ááŸá¯áá»á¬áž ááŒá¯áá¯ááºááŒááŒá®ážá ááááºá¡ááºáá»á¬ážááᯠNeovim á¡ááœááºážá០áá±á«áºááá¯ááŒáááºá
РМПвПй веÑÑОО пÑеЎлПжеМа МаÑалÑÐœÐ°Ñ Ð¿ÐŸÐŽÐŽÐµÑжка ÑЎалÑММПй ÑабПÑÑ, пПзвПлÑÑÑÐ°Ñ Ð·Ð°Ð¿ÑÑÑОÑÑ Neovim Ма ÑеÑвеÑе О пПЎклÑÑаÑÑÑÑ Ðº ÐœÐµÐŒÑ Ñ ÐºÐ»ÐžÐµÐœÑÑкПй ÑОÑÑеЌÑ, ОÑпПлÑзÑÑ ÐŸÑЎелÑÐœÑй ui_client. СÑеЎО ÐŽÑÑгОÑ
ОзЌеМеМОй: пÑекÑаÑеМа пПЎЎеÑжка Python 2, ÑазÑеÑеМП ОÑпПлÑзПваМОО Lua-ÑÑМкÑОй в keymap, ÐŽÐŸÐ±Ð°Ð²Ð»ÐµÐœÑ ÐœÐŸÐ²Ñе ÐºÐŸÐŒÐ°ÐœÐŽÑ Ð² API, зМаÑОÑелÑМП ÑаÑÑОÑÐµÐœÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑО пП ОÑпПлÑÐ·ÐŸÐ²Ð°ÐœÐžÑ ÑзÑка Lua ÐŽÐ»Ñ ÑазÑабПÑкО плагОМПв О ÑпÑÐ°Ð²Ð»ÐµÐœÐžÑ ÐºÐŸÐœÑОгÑÑаÑОей, ÑлÑÑÑÐµÐœÑ ÑÑеЎÑÑва ЎОагМПÑÑОкО пÑПблеЌ в кПЎе, ЎПбавлеМа пПЎЎеÑжка глПбалÑМПй ÑÑÑПкО ÑПÑÑПÑМОÑ, пÑÐŸÐ²ÐµÐŽÐµÐœÑ ÐŸÐ¿ÑОЌОзаÑОО пÑПОзвПЎОÑелÑМПÑÑО. РаÑÑОÑÐµÐœÑ Ð²ÐŸÐ·ÐŒÐŸÐ¶ÐœÐŸÑÑО вÑÑÑПеММПгП LSP-клОеМÑа (Language Server Protocol), кПÑПÑÑй ЌПжМП ОÑпПлÑзПваÑÑ ÐŽÐ»Ñ Ð²ÑМПÑа лПгОкО аМалОза О авÑÐŸÐŽÐŸÐ¿ÐŸÐ»ÐœÐµÐœÐžÑ ÐºÐŸÐŽÐ° Ма вМеÑМОе ÑеÑвеÑÑ.
source: opennet.ru