Nyob rau hauv lub moj khaum ntawm Neovim qhov project, Vim code puag tau raug rov ua dua rau ntau tshaj tsib xyoos, vim tias qhov kev hloov pauv tau ua kom yooj yim rau kev tswj hwm txoj cai, muab kev faib ua haujlwm ntawm ntau tus neeg saib xyuas, cais qhov sib cuam tshuam los ntawm kev tswj hwm tus lej. puag ncig (lub interface tuaj yeem hloov pauv yam tsis tau kov lub internals) thiab siv qhov tshiab
Ib qho ntawm cov teeb meem nrog Vim uas tau ua rau kev tsim ntawm Neovim yog nws bloated, monolithic code puag, muaj ntau tshaj 300 txhiab kab ntawm C (C89) code. Tsuas yog ob peb tus neeg nkag siab tag nrho cov nuances ntawm Vim codebase, thiab tag nrho cov kev hloov pauv yog tswj los ntawm ib tus neeg saib xyuas, uas ua rau nws nyuaj rau kev tswj hwm thiab txhim kho cov neeg kho. Hloov chaw ntawm txoj cai tsim rau hauv Vim core los txhawb GUI, Neovim tawm tswv yim siv cov txheej txheem thoob ntiaj teb uas tso cai rau koj los tsim kev sib tshuam siv ntau yam khoom siv.
Plugins rau Neovim tau pib ua cov txheej txheem cais, rau kev sib cuam tshuam uas siv MessagePack hom. Kev sib cuam tshuam nrog plugins yog ua tiav asynchronously, tsis thaiv cov ntsiab lus ntawm tus editor. Txhawm rau nkag mus rau lub plugin, lub qhov (socket) TCP tuaj yeem siv tau, piv txwv li. lub plugin tuaj yeem khiav ntawm qhov system sab nraud. Nyob rau tib lub sijhawm, Neovim tseem rov qab sib haum nrog Vim, txuas ntxiv txhawb Vimscript (Lua yog muab los ua lwm txoj hauv kev) thiab txhawb kev sib txuas rau feem ntau tus qauv Vim plugins. Neovim cov yam ntxwv siab heev tuaj yeem siv tau hauv plugins tsim siv Neovim-specific APIs.
Tam sim no lawm
Qee qhov kev hloov pauv hauv
- Ntxiv ib feem loj ntawm API tshiab ua haujlwm thiab cov neeg siv interface txheej xwm.
- Ntxiv ib lub tsev qiv ntawv tshiab Nvim-Lua rau kev tsim plugins hauv Lua lus.
- Txoj kev loj hlob ntawm tus neeg siv interface raws tu qauv txuas ntxiv, hloov kho cov ntaub ntawv ntawm qhov screen ntawm qib kab, tsis yog cov cim ntawm tus kheej.
- Ntxiv kev txhawb nqa rau lub qhov rais uas muaj qhov dej ntws tag nrho, uas tuaj yeem muab tso rau hauv txhua qhov chaw, txuas nrog, txuas rau tus neeg kho cov buffers, thiab pab pawg hauv Multigrid hom.
- Ntxiv 'pumblend' kev xaiv rau translucent dropdown menus.
Tau qhov twg los: opennet.ru