ืฉื—ืจื•ืจ ืฉืœ Neovim 0.6.0, ื’ืจืกื” ืžื•ื“ืจื ื™ืช ืฉืœ ืขื•ืจืš Vim

Neovim 0.6.0 ืฉื•ื—ืจืจ, ืžื–ืœื’ ืฉืœ ืขื•ืจืš Vim ื”ืžืชืžืงื“ ื‘ื”ื’ื“ืœืช ื”ื”ืจื—ื‘ื” ื•ื”ื’ืžื™ืฉื•ืช. ื”ืคืจื•ื™ืงื˜ ืžืขื‘ื“ ืžื—ื“ืฉ ืืช ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ Vim ื›ื‘ืจ ื™ื•ืชืจ ืžืฉื‘ืข ืฉื ื™ื, ื›ืชื•ืฆืื” ืžื›ืš ืžืชื‘ืฆืขื™ื ืฉื™ื ื•ื™ื™ื ื”ืžืคืฉื˜ื™ื ืืช ืชื—ื–ื•ืงืช ื”ืงื•ื“, ืžืกืคืงื™ื ืืžืฆืขื™ ืœื—ืœื•ืงืช ืขื‘ื•ื“ื” ื‘ื™ืŸ ืžืกืคืจ ืžืชื—ื–ืงื™ื, ืžืคืจื™ื“ื™ื ื‘ื™ืŸ ื”ืžืžืฉืง ืœื—ืœืง ื”ื‘ืกื™ืก (ื”ืžืžืฉืง ื™ื›ื•ืœ ืœื”ื™ื•ืช ื”ืฉืชื ื” ืžื‘ืœื™ ืœื’ืขืช ื‘ื—ืœืง ื”ืคื ื™ืžื™) ื•ื”ื˜ืžื™ืข ืืจื›ื™ื˜ืงื˜ื•ืจื” ื—ื“ืฉื” ื”ื ื™ืชื ืช ืœื”ืจื—ื‘ื” ื”ืžื‘ื•ืกืกืช ืขืœ ืชื•ืกืคื™ื. ื”ืคื™ืชื•ื—ื™ื ื”ืžืงื•ืจื™ื™ื ืฉืœ ื”ืคืจื•ื™ืงื˜ ืžื•ืคืฆื™ื ืชื—ืช ืจื™ืฉื™ื•ืŸ Apache 2.0, ื•ื”ื—ืœืง ื”ื‘ืกื™ืกื™ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ Vim. ื”ืจื›ื‘ื•ืช ืžื•ื›ื ื•ืช ืžื•ื›ื ื•ืช ืขื‘ื•ืจ Linux (appimage), Windows ื•-macOS.

ืื—ืช ื”ื‘ืขื™ื•ืช ืขื Vim ืฉื”ื ื™ืขื” ืืช ื™ืฆื™ืจืช Neovim ื”ื™ื™ืชื” ื‘ืกื™ืก ื”ืงื•ื“ ื”ืžื ื•ืคื— ื•ื”ืžื•ื ื•ืœื™ื˜ื™ ืฉืœื•, ื”ืžื•ืจื›ื‘ ืžื™ื•ืชืจ ืž-300 ืืœืฃ ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ C (C89). ืจืง ืื ืฉื™ื ืžืขื˜ื™ื ืžื‘ื™ื ื™ื ืืช ื›ืœ ื”ื ื™ื•ืื ืกื™ื ืฉืœ ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ Vim, ื•ื›ืœ ื”ืฉื™ื ื•ื™ื™ื ื ืฉืœื˜ื™ื ืขืœ ื™ื“ื™ ืžืชื—ื–ืง ืื—ื“, ืžื” ืฉืžืงืฉื” ืขืœ ืชื—ื–ื•ืงื” ื•ืฉื™ืคื•ืจ ืฉืœ ื”ืขื•ืจืš. ื‘ืžืงื•ื ื”ืงื•ื“ ื”ืžื•ื‘ื ื” ื‘ืœื™ื‘ืช Vim ืœืชืžื™ื›ื” ื‘-GUI, Neovim ืžืฆื™ืขื” ืœื”ืฉืชืžืฉ ื‘ืฉื›ื‘ื” ืื•ื ื™ื‘ืจืกืœื™ืช ื”ืžืืคืฉืจืช ืœื™ืฆื•ืจ ืžืžืฉืงื™ื ื‘ืืžืฆืขื•ืช ืขืจื›ื•ืช ื›ืœื™ื ืฉื•ื ื•ืช.

ืชื•ืกืคื™ื ืขื‘ื•ืจ Neovim ืžื•ืฉืงื™ื ื›ืชื”ืœื™ื›ื™ื ื ืคืจื“ื™ื, ืœืื™ื ื˜ืจืืงืฆื™ื” ืื™ืชื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคื•ืจืžื˜ MessagePack. ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืชื•ืกืคื™ื ืžืชื‘ืฆืขืช ื‘ืื•ืคืŸ ืืกื™ื ื›ืจื•ื ื™, ืžื‘ืœื™ ืœื—ืกื•ื ืืช ื”ืจื›ื™ื‘ื™ื ื”ื‘ืกื™ืกื™ื™ื ืฉืœ ื”ืขื•ืจืš. ื›ื“ื™ ืœื’ืฉืช ืœืชื•ืกืฃ, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืฉืงืข TCP, ื›ืœื•ืžืจ. ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืืช ื”ืชื•ืกืฃ ืขืœ ืžืขืจื›ืช ื—ื™ืฆื•ื ื™ืช. ื‘ืžืงื‘ื™ืœ, Neovim ื ืฉืืจืช ืชื•ืืžืช ืœืื—ื•ืจ ืขื Vim, ืžืžืฉื™ื›ื” ืœืชืžื•ืš ื‘-Vimscript (Lua ืžื•ืฆืขืช ื›ื—ืœื•ืคื”) ื•ืชื•ืžื›ืช ื‘ื—ื™ื‘ื•ืจื™ื ืœืจื•ื‘ ื”ืชื•ืกืคื™ื ื”ืกื˜ื ื“ืจื˜ื™ื™ื ืฉืœ Vim. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืชื›ื•ื ื•ืช ื”ืžืชืงื“ืžื•ืช ืฉืœ Neovim ื‘ืชื•ืกืคื™ื ืฉื ื‘ื ื• ื‘ืืžืฆืขื•ืช ืžืžืฉืงื™ API ืกืคืฆื™ืคื™ื™ื ืœ- Neovim.

ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื›ื‘ืจ ื”ื•ื›ื ื• ื›-130 ืชื•ืกืคื™ื ืกืคืฆื™ืคื™ื™ื, ื›ืจื™ื›ื•ืช ื–ืžื™ื ื•ืช ืœื™ืฆื™ืจืช ืชื•ืกืคื™ื ื•ื”ื˜ืžืขืช ืžืžืฉืงื™ื ื‘ืืžืฆืขื•ืช ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช (C++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) ื•ืžืกื’ืจื•ืช (Qt, ncurses, Node .js, Electron, GTK). ืžืคืชื—ื™ื ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช ืžืžืฉืง ืžืฉืชืžืฉ. ืชื•ืกืคื•ืช GUI ื“ื•ืžื•ืช ืžืื•ื“ ืœืชื•ืกืคื™ื, ืื‘ืœ ื‘ื ื™ื’ื•ื“ ืœืชื•ืกืคื™ื, ื”ื ื™ื•ื–ืžื™ื ืงืจื™ืื•ืช ืœืคื•ื ืงืฆื™ื•ืช ืฉืœ Neovim, ื‘ืขื•ื“ ืฉืชื•ืกืคื™ื ื ืงืจืื™ื ืžืชื•ืš Neovim.

ื—ืœืง ืžื”ืฉื™ื ื•ื™ื™ื ื‘ื’ืจืกื” ื”ื—ื“ืฉื”:

  • ืชืžื™ื›ื” ื‘ืžืฉืชื ื™ื ืžืงื•ืžื™ื™ื ื ื•ืกืคื” ืœืกืงืจื™ืคื˜ื™ื ืฉืœ vim, ืฉื”ื™ืงืคื ืžื•ื’ื‘ืœ ืจืง ืขืœ ื™ื“ื™ ื”ืกืงืจื™ืคื˜ ื”ื ื•ื›ื—ื™.
  • ืฉื™ืคื•ืจ ืžืฉืžืขื•ืชื™ ื‘ืชืžื™ื›ื” ื‘ืฉืคืช Lua ืœืคื™ืชื•ื— ืชื•ืกืคื™ื ื•ื ื™ื”ื•ืœ ืชืฆื•ืจื”. ื‘ืกืงืจื™ืคื˜ื™ื ืฉืœ vim, ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœืงืจื•ื ืœืคื•ื ืงืฆื™ื•ืช Lua ื›ืžืชื•ื“ื•ืช ืขืœ ื™ื“ื™ ืฆื™ื•ืŸ ื”ืงื™ื“ื•ืžืช v:lua (ืœื“ื•ื’ืžื”, "arg1->v:lua.somemod.func(arg2)").
  • ื”ื•ืจื—ื‘ื• ื”ื™ื›ื•ืœื•ืช ืฉืœ ืœืงื•ื— ื”-LSP ื”ืžื•ื‘ื ื” (Language Server Protocol), ืฉื‘ืืžืฆืขื•ืชื• ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืืช ืœื•ื’ื™ืงืช ื”ื ื™ืชื•ื— ื•ื”ืฉืœืžืช ื”ืงื•ื“ ืœืฉืจืชื™ื ื—ื™ืฆื•ื ื™ื™ื. ื”ืฉื™ืžื•ืฉ ื‘-LSP ืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ ื‘ื™ื•ืชืจ ืž-150 ืžื˜ืคืœื™ื ืžื•ื›ื ื™ื ืœืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช ืฉื”ื•ื›ื ื• ืขื‘ื•ืจ ืขื•ืจืš Visual Studio Code.
  • ื›ืœื™ื ืžืฉื•ืคืจื™ื ืœืื‘ื—ื•ืŸ ื‘ืขื™ื•ืช ื‘ืงื•ื“. ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื”ืฆื™ื’ ื˜ืงืกื˜ ืฉืœ ื”ื•ื“ืขื•ืช ืื‘ื—ื•ืŸ ื•ื—ืœื•ื ื•ืช ืฆืคื™ื ืขื ืงื•ื“ ื”ืžืฉื•ื™ืš ืœื”ื•ื“ืขื•ืช ื›ืืœื”. ืžืกื•ืคืง ืขื™ื‘ื•ื“ ืฉืœ ื”ื•ื“ืขื•ืช ืื‘ื—ื•ืŸ ื”ืžื•ืขื‘ืจื•ืช ืขืœ ื™ื“ื™ ืฉืจืช LSP.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืžื—ืจื•ื–ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ื‘ื”ืŸ ื ื™ืชืŸ ืœื”ืฉืชืžืฉ, ืœืžืฉืœ, ืœื”ืฆื’ืช ื‘ืœื•ืงื™ื ืขื ืžื™ื“ืข ืฉื™ืจื•ืช.
  • ื‘ื•ืฆืขื• ืื•ืคื˜ื™ืžื™ื–ืฆื™ื•ืช ืฉื•ื ื•ืช ืฉืœ ื‘ื™ืฆื•ืขื™ื, ืœื“ื•ื’ืžื”, ื˜ื‘ืœืช hash ืžื•ืคืขืœืช ืขื‘ื•ืจ ืฉืžื•ืช ืงื‘ื•ืฆื•ืช ืžื•ื“ื’ืฉื™ื.
  • ื”ืชืžื™ื›ื” ื‘-Windows 7 ื•-32 ืกื™ื‘ื™ื•ืช ืฉืœ Windows ื”ื•ืคืกืงื”.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”