Выпуск Neovim 0.7.0, модернизированного варианта редактора Vim
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Опубликован релиз Neovim 0.7.0, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта уже более семи лет проводится переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim. Готовые сборки подготовлены для Linux (appimage), Windows и macOS.
Из проблем Vim, побудивших к созданию Neovim, отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (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
===========
Похожие новости
- Главная ссылка к новости (https://github.com/neovim/neov...)
- OpenNews: Выпуск Neovim 0.6.0, модернизированного варианта редактора Vim
- OpenNews: Релиз текстового редактора Vim 8.2
- OpenNews: В рамках проекта Neovim предпринята попытка модернизации Vim
- OpenNews: Представлен Vim9, форк Vim для экспериментов с оптимизацией скриптов
- OpenNews: Выпуск SpaceVim 1.1, дистрибутива редактора Vim
Похожие новости:
- Выпуск Neovim 0.6.0, модернизированного варианта редактора Vim
- Уязвимости в LibreCAD, Ruby, TensorFlow, Mailman и Vim
- [VIM] vimawesome.com не доступен
- Доступен Neovim 0.5, модернизированный вариант редактора Vim
- [VIM, История IT, Софт] Как Vim стал таким популярным (перевод)
- [*nix, Лайфхаки для гиков] Mein Konfig: экскурсия по dotfiles (часть 2)
- [*nix, Лайфхаки для гиков] Mein Konfig: экскурсия по dotfiles
- [Emacs] НЕ VIM, а круче (xah fly keys) или XAH FLY KEYS. Большой выпуск
- [VIM, *nix, История IT] Почему в Vim для навигации используются клавиши hjkl
- [Карьера в IT-индустрии, Разработка под Windows, Лайфхаки для гиков] [В закладки] Кунг-фу на клавиатуре. Искусство сочетать клавиши
Теги для поиска: #_neovim, #_vim
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:05
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Опубликован релиз Neovim 0.7.0, ответвления от редактора Vim, сфокусированного на повышении расширяемости и гибкости. В рамках проекта уже более семи лет проводится переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Оригинальные наработки проекта распространяются под лицензией Apache 2.0, а базовая часть под лицензией Vim. Готовые сборки подготовлены для Linux (appimage), Windows и macOS. Из проблем Vim, побудивших к созданию Neovim, отмечается раздутая монолитная кодовая база, состоящая более чем из 300 тысяч строк кода на языке Си (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 =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:05
Часовой пояс: UTC + 5