После полутора лет разработки релиз текстового редактора , который отнесён к категории незначительных выпусков, в котором устранены накопившиеся ошибки и предложены единичные новшества.
Код Vim под собственной копилефт , совместимой с GPL, и позволяющей без ограничений использовать, распространять и перерабатывать код. Основная особенность лицензии Vim связана с возвратом изменений — реализованные в сторонних продуктах улучшения должны быть переданы в исходный проект, если мэйнтейнер Vim посчитает эти улучшения заслуживающими внимания и отправит соответствующий запрос. По типу распространения, Vim относится к Сharityware, т.е. вместо продажи программы или сбора пожертвований на нужды проекта, авторы Vim просят перечислить любую сумму на благотворительность, если программа понравится пользователю.
В :
- Реализована поддержка всплывающих окон, которые, наряду со свойствами текста, в ходе опроса на конференции VimConf 2018 были отмечены разработчиками плагинов как наиболее востребованные возможности, которых не хватает в Vim. Всплывающие окна позволяют отображать сообщения, отрывки кода и любую другую информацию поверх редактируемого текста. Данные окна могут быть подсвечены разными способами, быстро открыты и закрыты. Реализация указанной функциональности потребовала существенно доработки ранее используемых механизмов вывода на экран, а также расширения API для обеспечения работы со всплывающими окнами из плагинов.
- Добавлена возможность определения свойств текста, при помощи которых можно выделять цветом куски текста или подсвечивать произвольные области. Свойства текста можно использовать в форме работающего в асинхронном режиме механизма выделения текста, альтернативного ранее доступным возможностям подсветки синтаксиса на базе шаблонов. Особенностью свойств текста также является, то что они прикреплены со связанным с ними текстом и сохраняются даже при вставке новых слов перед выделенным текстом.
- Для наглядной демонстрации новых возможностей Vim 8.2 плагин с игрой, позволяющей стрелять в бегущих по экрану овец. Бегущие овцы отображаются при помощи всплывающих окон, а расцветка реализована через свойства текста.
- Для демонстрации свойств текста дополнительно опубликован плагин , используемый для подсветки синтаксиса в программах на языке Go, получая информацию о семантике языка с внешнего LSP-сервера (). Всплывающие окна в govim используются для вывода контекстных подсказок для автодополнения имён и отображния описаний функций.
- Предложена новая команда «:const» для определения переменных, которые невозможно изменить:
const TIMER_DELAY = 400
- Добавлена возможность определения словарей с буквенными ключами без использования кавычек:
let options = #{width: 30, height: 24}
- Добавлена возможность блочных присвоений, упрощающих присвоение переменным многострочных кусков текста:
let lines =<< trim END
line one
line two
END - Добавлена возможность построения цепочек функций при вызове методов:
mylist->filter(filterexpr)->map(mapexpr)->sort()->join()
- В основной состав включена библиотека xdiff, позволившая значительно улучшить представление различий разных вариантов текста;
- Добавлена настройка «modifyOtherKeys» для задания расширенных комбинаций клавиш
- Добавлена поддержка консоли ConPTY, позволяющая добиться отображения всех цветов в консоли Windows 10;
- Модернизирован установщик для Windows.
Дополнительно можно отметить, экспериментальной ветки редактора . Neovim представляет собой ответвления от Vim, сфокусированное на повышении расширяемости и гибкости. В рамках проекта уже более пяти лет агрессивная переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Плагины к Neovim запускаются как отдельные процессы, для взаимодействия с которыми используется формат MessagePack.
Источник: opennet.ru
