Neovim 0.4, เบชเบฐเบšเบฑเบšเบ›เบฑเบšเบ›เบธเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™ Vim, เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ

เบˆเบฑเบ”เบžเบตเบกเบกเบฒ เบ›เปˆเบญเบเบ•เบปเบง Neovim 0.4, เบ—เบฒเบ‡เปเบเบเบˆเบฒเบเบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™ Vim, เบชเบธเบกเปƒเบชเปˆ เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบžเบตเปˆเบกโ€‹เบ—เบฐโ€‹เบงเบตโ€‹เบเบฒเบ™โ€‹เบ‚เบฐโ€‹เบซเบเบฒเบโ€‹เบ•เบปเบงโ€‹เปเบฅเบฐโ€‹เบ„เบงเบฒเบกโ€‹เบขเบทเบ”โ€‹เบขเบธเปˆเบ™โ€‹. เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ เปเบœเปˆโ€‹เบเบฐโ€‹เบˆเบฒเบโ€‹เป€เบŠเบทเป‰เบญ เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” Apache 2.0, เปเบฅเบฐเบชเปˆเบงเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” Vim.

เบžเบฒเบเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Neovim, เบžเบทเป‰เบ™เบ–เบฒเบ™เบฅเบฐเบซเบฑเบ” Vim เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบผเบฒเบเบเบงเปˆเบฒเบซเป‰เบฒเบ›เบต, เป€เบ›เบฑเบ™เบœเบปเบ™เบกเบฒเบˆเบฒเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบ‡เปˆเบฒเบ, เบชเบฐเบซเบ™เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เปเบšเปˆเบ‡เบญเบญเบเปเบฎเบ‡เบ‡เบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบœเบนเป‰เบฎเบฑเบเบชเบฒเบซเบผเบฒเบเป†เบ„เบปเบ™, เปเบเบเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบญเบญเบเบˆเบฒเบ เบชเปˆเบงเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™ (เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบ•เป‰เบญเบ‡เบชเปเบฒเบœเบฑเบ”เบเบฑเบšเบžเบฒเบเปƒเบ™) เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบซเบกเปˆ เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰ เบญเบตเบ‡เปƒเบชเปˆ plugins.

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบšเบฑเบ™เบซเบฒเบเบฑเบš Vim เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบชเป‰เบฒเบ‡ Neovim เปเบกเปˆเบ™ bloated, เบžเบทเป‰เบ™เบ–เบฒเบ™เบฅเบฐเบซเบฑเบ” monolithic, เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบซเบผเบฒเบเบเปˆเบงเบฒ 300 เบžเบฑเบ™เบชเบฒเบเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” C (C89). เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบชเบฒเบกเบ„เบปเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆ nuances เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ Vim codebase, เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบœเบนเป‰เบฎเบฑเบเบชเบฒเบซเบ™เบถเปˆเบ‡, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบฎเบฑเบเบชเบฒเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™. เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบซเบผเบฑเบ Vim เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ GUI, Neovim เบชเบฐเป€เบซเบ™เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบŠเบฑเป‰เบ™เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป‚เบ”เบเปƒเบŠเป‰เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เปˆเบฒเบ‡เป†.

Plugins เบชเปเบฒเบฅเบฑเบš Neovim เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป€เบ›เบฑเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบฎเบนเบšเปเบšเบš MessagePack เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบš plugins เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™ asynchronous, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบชเบฐเบเบฑเบ”เบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ plugin, เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ TCP socket, i.e. plugin เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบ. เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, Neovim เบเบฑเบ‡เบ„เบปเบ‡เบขเบนเปˆเบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš Vim, เบชเบทเบšเบ•เปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Vimscript (Lua เบชเบฐเป€เบซเบ™เบตเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ) เปเบฅเบฐเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเปเบฒเบฅเบฑเบš plugins Vim เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ. เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบฑเป‰เบ™เบชเบนเบ‡เบ‚เบญเบ‡ Neovim เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เปƒเบ™ plugins เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰ APIs เบชเบฐเป€เบžเบฒเบฐ Neovim.

เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเป‰เบง เบเบฐเบเบฝเบก เบ›เบฐเบกเบฒเบ™ 80 plugins เบชเบฐเป€เบžเบฒเบฐ, เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เปเบกเปˆเบ™เบกเบตเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡ plugins เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป‚เบ”เบเปƒเบŠเป‰เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบ•เปˆเบฒเบ‡เป† (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) เปเบฅเบฐเบเบญเบš (Qt5, ncurses, Node.js, เป€เบญเป€เบฅเบฑเบเป‚เบ•เบฃเบ™เบดเบ, GTK+). เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เบซเบผเบฒเบเบญเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. GUI add-ons เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบš plugins, เปเบ•เปˆเบšเปเปˆเบ„เบทเบเบฑเบš plugins, เบžเบงเบเป€เบ‚เบปเบฒเป€เบฅเบตเปˆเบกเป‚เบ—เบซเบฒเบซเบ™เป‰เบฒเบ—เบตเปˆ Neovim, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ plugins เบ–เบทเบเป€เบญเบตเป‰เบ™เบˆเบฒเบเบžเบฒเบเปƒเบ™ Neovim.

เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™ เบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆ:

  • เป€เบžเบตเปˆเบกเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ API เปƒเปเปˆ เปเบฅเบฐเป€เบซเบ”เบเบฒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰.
  • เป€เบžเบตเปˆเบกเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปƒเบซเบกเปˆ Nvim-Lua เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ plugins เปƒเบ™เบžเบฒเบชเบฒ Lua.
  • เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เป‚เบ›เป‚เบ•เบ„เบญเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เบเบฑเบ‡เบชเบทเบšเบ•เปเปˆ, เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบซเบ™เป‰เบฒเบˆเปเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบชเบฒเบ, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ—เบตเปˆเป€เบฅเบทเปˆเบญเบ™เป„เบ”เป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ•เบดเบ”เบเบฑเบš, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš buffers เบเบฒเบ™เปเบเป‰เป„เบ‚เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เปเบฅเบฐเบˆเบฑเบ”เบเบธเปˆเบกเปƒเบ™เบฎเบนเบšเปเบšเบš Multigrid.
  • เป€เบžเบตเปˆเบกเบ•เบปเบงเป€เบฅเบทเบญเบ 'pumblend' เบชเปเบฒเบฅเบฑเบšเป€เบกเบ™เบนเป€เบฅเบทเปˆเบญเบ™เบฅเบปเบ‡เบ—เบตเปˆเป‚เบ›เปˆเบ‡เปƒเบช.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™