N'ime usoro nke Neovim oru ngo, a na-emezigharị ntọala koodu Vim ihe karịrị afọ ise, n'ihi nke a na-eme mgbanwe ndị na-eme ka nhazi koodu dị mfe, na-enye ụzọ isi kewaa ọrụ n'etiti ọtụtụ ndị na-elekọta, kewapụ interface ahụ na akụkụ isi (enwere ike ịgbanwe interface ahụ na-enweghị emetụ ndị internals) ma mejuputa ọhụrụ
Otu n'ime nsogbu dị na Vim nke kpaliri ịmepụta Neovim bụ eriri ya, koodu monolithic, nke nwere ihe karịrị 300 puku ahịrị nke koodu C (C89). Naanị mmadụ ole na ole na-aghọta nuances niile nke Vim codebase, na mgbanwe niile na-achịkwa otu onye na-elekọta ya, nke na-eme ka o sie ike idobe ma melite onye nchịkọta akụkọ. Kama koodu etinyere n'ime Vim core iji kwado GUI, Neovim na-atụ aro iji oyi akwa zuru ụwa ọnụ nke na-enye gị ohere ịmepụta oghere site na iji ngwa ngwa dị iche iche.
A na-ewepụta ngwa mgbakwunye maka Neovim dị ka usoro dị iche iche, maka mmekọrịta nke ejiri usoro MessagePack mee ihe. A na-eme mmekọrịta na plugins n'otu n'otu, na-enweghị igbochi ihe ndị bụ isi nke onye nchịkọta akụkọ. Iji nweta ngwa mgbakwunye ahụ, enwere ike iji oghere TCP mee ihe, ya bụ. ngwa mgbakwunye nwere ike na-agba ọsọ na mpụga usoro. N'otu oge ahụ, Neovim na-anọgide na-aga azụ dakọtara na Vim, na-aga n'ihu na-akwado Vimscript (a na-enye Lua dị ka ihe ọzọ) ma na-akwado njikọ maka ọtụtụ plugins Vim ọkọlọtọ. Enwere ike iji njirimara dị elu nke Neovim na plugins arụpụtara site na iji API kpọmkwem Neovim.
Ugbu a ugbua
Ụfọdụ mgbanwe na
- Agbakwunyere nnukwu akụkụ nke ọrụ API ọhụrụ yana mmemme interface onye ọrụ.
- Etinyere ọbá akwụkwọ ọkọlọtọ ọhụrụ Nvim-Lua maka ịmepụta plugins n'asụsụ Lua.
- Mmepe nke protocol interface onye ọrụ na-aga n'ihu, na-emelite ozi na ihuenyo n'ogo nke ahịrị, karịa mkpụrụedemede ọ bụla.
- Nkwado agbakwunyere maka windo na-ese n'elu mmiri zuru oke, nke enwere ike idowe n'ebe ọ bụla, tinye ya, jikọọ na ebe nchekwa onye ọ bụla na-edezi, yana chịkọta ya na ọnọdụ Multigrid.
- agbakwunyere nhọrọ 'pumblend' maka menus dropdown translucent.
isi: opennet.ru