Представлен запуск новой версии Neovim 0.4 который является ветвью редактора Vim, направленной на повышение расширяемости и гибкости.
Тем, кто не знаком с проектом Neovim, следует знать, чтоe этот переделывал базу кода Vim более пяти лет, в результате чего были внесены изменения для упрощения сопровождения кода, предоставляя средства для разделения работы между несколькими сопровождающими, отделяя интерфейс от базового (интерфейс можно изменять, не затрагивая внутреннюю часть) и реализуя новую расширяемую архитектуру на основе плагинов.
От проблем с Vim, которые привели к созданию Neovim состоящий из более чем 300 тысяч строк кода C. Лишь немногие люди понимают все нюансы кодовой базы Vim, и все изменения контролируются сопровождающим, что затрудняет поддержку и работу над улучшением редактора.
Вместо кода, встроенного в ядро Vim для поддержки графического интерфейса, Neovim предлагает использовать универсальный уровень, который позволяет создавать интерфейсы с использованием различных наборов инструментов.
Плагины для Neovim запускаются как отдельные процессы, для которого используется формат MessagePack. Взаимодействие с плагинами осуществляется в асинхронном режиме, без блокировки основных компонентов редактора.
Для доступа к плагину можно использовать сокет TCP, т.е. плагин может быть запущен во внешней системе.
В то же время Neovim по-прежнему обратно совместим с Vim, продолжает поддерживать Vimscript (как альтернативу Lua) и поддерживает подключаемые модули большинства стандартных подключаемых модулей Vim. Расширенные функции Neovim можно использовать в плагинах, созданных с помощью специального API Neovim.
Уже подготовлено около 80 конкретных плагинов, доступны папки для создания плагинов и реализаций интерфейсов с использованием различных языков программирования (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) и фреймворков (Qt5 , ncurses, Node .js, Electron, GTK +). Различные варианты пользовательского интерфейса находятся в стадии разработки.
Плагины GUI очень похожи на плагины, но в отличие от плагинов они инициируют вызовы функций Neovim, тогда как плагины вызываются из Neovim.
Оригинальные разработки проекта распространяются по лицензии Apache 2.0, а базовая часть - по лицензии Vim.
Основные новости Neovim 0.4
С выпуском этой новой версии Neovim 0.4 В приложение добавлено много новых функций API и событий пользовательского интерфейса.
В дополнение к этому также подчеркивается, что добавлена новая стандартная библиотека Nvim-Lua для разработки плагинов на языке Lua.
С другой стороны, продолжается разработка протокола пользовательского интерфейса, который обновляет информацию на экране на уровне строки, а не отдельных символов.
И это также в Neovim 0.4 добавлена поддержка полностью плавающих окон которые можно разместить где угодно, прикрепить, связать с отдельными буферами редактирования, сгруппировать в многосеточном режиме.
Сейчас для инсталляционного корпуса этой новой версии в Linux, иВажно подчеркнуть, что Neovim находится в большинстве из репозиториев из самых популярных дистрибутивов.
Хотя единственная проблема на данный момент в том, что новая версия еще не обновлена в репозиториях большинства дистрибутивов Linux.
в качестве в настоящее время только Arch Linxu и его производные у них уже есть доступность этого пакета.
Для установки на Arch и производных, им нужно только открыть терминал, и в нем они наберут следующую команду:
sudo pacman -S neovim
В то время как для тех, кто является пользователями Debian, Ubuntu и производных, могут установить новый пакет, как только он станет доступен выполнив в терминале команду:
sudo apt install neovim
В случае пользователей Fedora и производных:
sudo dnf install neovim
Пользователи OpenSUSE:
sudo zypper install neovim
Наконец, для пользователей Gentoo
emerge -a app-editors/neovim