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

Neovim 0.7.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.

ะ’ ะฝะพะฒะพะน ะฒะตั€ัะธะธ ะฟั€ะตะดะปะพะถะตะฝะฐ ะฝะฐั‡ะฐะปัŒะฝะฐั ะฟะพะดะดะตั€ะถะบะฐ ัƒะดะฐะปั‘ะฝะฝะพะน ั€ะฐะฑะพั‚ั‹, ะฟะพะทะฒะพะปััŽั‰ะฐั ะทะฐะฟัƒัั‚ะธั‚ัŒ Neovim ะฝะฐ ัะตั€ะฒะตั€ะต ะธ ะฟะพะดะบะปัŽั‡ะฐั‚ัŒัั ะบ ะฝะตะผัƒ ั ะบะปะธะตะฝั‚ัะบะพะน ัะธัั‚ะตะผั‹, ะธัะฟะพะปัŒะทัƒั ะพั‚ะดะตะปัŒะฝั‹ะน ui_client. ะกั€ะตะดะธ ะดั€ัƒะณะธั… ะธะทะผะตะฝะตะฝะธะน: ะฟั€ะตะบั€ะฐั‰ะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ Python 2, ั€ะฐะทั€ะตัˆะตะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะธ Lua-ั„ัƒะฝะบั†ะธะน ะฒ keymap, ะดะพะฑะฐะฒะปะตะฝั‹ ะฝะพะฒั‹ะต ะบะพะผะฐะฝะดั‹ ะฒ API, ะทะฝะฐั‡ะธั‚ะตะปัŒะฝะพ ั€ะฐััˆะธั€ะตะฝั‹ ะฒะพะทะผะพะถะฝะพัั‚ะธ ะฟะพ ะธัะฟะพะปัŒะทะพะฒะฐะฝะธัŽ ัะทั‹ะบะฐ Lua ะดะปั ั€ะฐะทั€ะฐะฑะพั‚ะบะธ ะฟะปะฐะณะธะฝะพะฒ ะธ ัƒะฟั€ะฐะฒะปะตะฝะธั ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะตะน, ัƒะปัƒั‡ัˆะตะฝั‹ ัั€ะตะดัั‚ะฒะฐ ะดะธะฐะณะฝะพัั‚ะธะบะธ ะฟั€ะพะฑะปะตะผ ะฒ ะบะพะดะต, ะดะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะณะปะพะฑะฐะปัŒะฝะพะน ัั‚ั€ะพะบะธ ัะพัั‚ะพัะฝะธั, ะฟั€ะพะฒะตะดะตะฝั‹ ะพะฟั‚ะธะผะธะทะฐั†ะธะธ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ะธ. ะ ะฐััˆะธั€ะตะฝั‹ ะฒะพะทะผะพะถะฝะพัั‚ะธ ะฒัั‚ั€ะพะตะฝะฝะพะณะพ LSP-ะบะปะธะตะฝั‚ะฐ (Language Server Protocol), ะบะพั‚ะพั€ั‹ะน ะผะพะถะฝะพ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะดะปั ะฒั‹ะฝะพัะฐ ะปะพะณะธะบะธ ะฐะฝะฐะปะธะทะฐ ะธ ะฐะฒั‚ะพะดะพะฟะพะปะฝะตะฝะธั ะบะพะดะฐ ะฝะฐ ะฒะฝะตัˆะฝะธะต ัะตั€ะฒะตั€ั‹.

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

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