Neovim 0.6.0 dia navotsotra, sampana iray amin'ny tonian-dahatsoratra Vim mifantoka amin'ny fampitomboana ny fanitarana sy ny flexibility. Ny tetikasa dia nanamboatra ny fototry ny code Vim nandritra ny fito taona mahery, vokatry ny fanovana natao izay manamora ny fikojakojana ny kaody, manome fomba fisarahana amin'ny mpiasa maromaro, manasaraka ny interface amin'ny ampahany fototra (ny interface dia mety ho niova tsy nikitika ny anatiny) ary mametraha maritrano vaovao azo itarina miorina amin'ny plugins. Ny fivoarana voalohany amin'ny tetikasa dia zaraina amin'ny alΓ lan'ny lisansa Apache 2.0, ary ny ampahany fototra dia zaraina amin'ny alΓ lan'ny fahazoan-dΓ lana Vim. Ny fivoriambe efa vita dia voaomana ho an'ny Linux (appimage), Windows ary macOS.
Ny iray amin'ireo olana amin'ny Vim izay nanosika ny famoronana Neovim dia ny fototry ny kaody monolithic, izay misy andalana C (C300) maherin'ny 89 arivo. Olona vitsivitsy ihany no mahatakatra ny nuance rehetra ao amin'ny Vim codebase, ary ny fanovana rehetra dia fehezin'ny mpikarakara iray, ka sarotra ny mitazona sy manatsara ny tonian-dahatsoratra. Raha tokony ho ny kaody natsangana ao amin'ny Vim core hanohanana ny GUI, Neovim dia manolotra soso-kevitra amin'ny fampiasana sehatra manerantany izay ahafahanao mamorona interface amin'ny fampiasana fitaovana isan-karazany.
Plugins ho an'ny Neovim dia natomboka ho dingana misaraka, ho an'ny fifandraisana izay ampiasaina ny MessagePack format. Ny fifandraisana amin'ny plugins dia atao asynchronously, tsy manakana ny singa fototra amin'ny tonian-dahatsoratra. Mba hidirana amin'ny plugin dia azo ampiasaina ny socket TCP, i.e. ny plugin dia azo atao amin'ny rafitra ivelany. Mandritra izany fotoana izany, i Neovim dia mijanona ho mifanaraka amin'ny Vim, manohy manohana an'i Vimscript (Lua dia atolotra ho solony) ary manohana fifandraisana amin'ny ankamaroan'ny plugins Vim mahazatra. Ny endri-javatra mandroso Neovim dia azo ampiasaina amin'ny plugins natsangana amin'ny alΓ lan'ny API manokana Neovim.
Amin'izao fotoana izao, eo amin'ny 130 eo ho eo ny plugins manokana efa nomanina, misy fatorana amin'ny famoronana plugins sy fampiharana interface amin'ny fampiasana fiteny fandaharana isan-karazany (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ary frameworks (Qt, ncurses, Node .js, Electron, GTK). Safidy mpampiasa interface tsara maro no amboarina. Ny fanampim-panampiana GUI dia mitovy amin'ny plugins, fa tsy toy ny plugins, izy ireo no manomboka antso amin'ny fiasa Neovim, fa ny plugins dia antsoina avy ao anatin'ny Neovim.
Ny sasany amin'ireo fiovana amin'ny dikan-teny vaovao:
- Π 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.
Source: opennet.ru