เบเบฒเบ™เบ›เปˆเบญเบ Neovim 0.6.0, เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ‚เบญเบ‡เบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™ Vim

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

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบšเบฑเบ™เบซเบฒเบเบฑเบš 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.

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

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

  • เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ•เบปเบงเปเบ›เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ scripts vim, เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเป‚เบ”เบเบชเบฐเบ„เบดเบšเบ›เบฐเบˆเบธเบšเบฑเบ™.
  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบžเบฒเบชเบฒ Lua เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ plugin เปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. เปƒเบ™เบชเบฐเบ„เบฃเบดเบš vim, เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป€เบญเบตเป‰เบ™เบŸเบฑเบ‡เบŠเบฑเบ™ Lua เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป‚เบ”เบเบเบฒเบ™เบฅเบฐเบšเบธเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒ v:lua (เบ•เบปเบงเบขเปˆเบฒเบ‡: โ€œarg1->v:lua.somemod.func(arg2)โ€).
  • เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡เบ•เบปเบงเบฅเบนเบเบ„เป‰เบฒ LSP (Language Server Protocol) เป„เบ”เป‰เบ–เบทเบเบ‚เบฐเบซเบเบฒเบเบญเบญเบ, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป‚เบญเบ™เป€เบซเบ”เบœเบปเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเปเบฅเบฐเบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบฅเบฐเบซเบฑเบ”เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ LSP เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เปƒเบŠเป‰เบซเบผเบฒเบเบเบงเปˆเบฒ 150 เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ•เปˆเบฒเบ‡เป†เบ—เบตเปˆเบเบฝเบกเป„เบงเป‰เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบ™เบฒเบ—เบดเบเบฒเบ™ Visual Studio Code.
  • เบ›เบฑเบšเบ›เบธเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเบ™เบดเบ”เป„เบชเบšเบฑเบ™เบซเบฒเปƒเบ™เบฅเบฐเบซเบฑเบ”. เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบงเบดเบ™เบดเบ”เป„เบชเปเบฅเบฐเบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ—เบตเปˆเป€เบฅเบทเปˆเบญเบ™เป„เบ”เป‰เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบงเบดเบ™เบดเป„เบชเบ—เบตเปˆเบชเบปเปˆเบ‡เป‚เบ”เบเป€เบŠเบตเบšเป€เบงเบต LSP เปเบกเปˆเบ™เบชเบฐเปœเบญเบ‡เปƒเบซเป‰.
  • เป€เบžเบตเปˆเบกเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ•เบฃเบดเบ‡ virtual, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบšเบฅเบฑเบญเบเบ—เบตเปˆเบกเบตเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.
  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ•เปˆเบฒเบ‡เป†เป„เบ”เป‰เบ–เบทเบเป€เบฎเบฑเบ”, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ hash เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบŠเบทเปˆเบเบธเปˆเบกเบ—เบตเปˆเป€เบ™เบฑเป‰เบ™เปƒเบชเปˆ.
  • เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš Windows 7 เปเบฅเบฐ 32-bit builds เบ‚เบญเบ‡ Windows เป„เบ”เป‰เบขเบธเบ”เป€เบŠเบปเบฒ.

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

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