Релиз текстового редактора Vim 8.2
14 декабря 2019 года
После полутора лет разработки состоялся релиз текстового редактора Vim 8.2, который отнесён к категории незначительных выпусков с устранением накопившихся ошибок и предложенными единичными новшествами.
Код Vim распространяется под собственной копилефт лицензией, совместимой с GPL и позволяющей без ограничений использовать, распространять и перерабатывать код. Основная особенность лицензии Vim связана с возвратом изменений - реализованные в сторонних продуктах улучшения должны быть переданы в исходный проект, если мэйнтейнер Vim посчитает эти улучшения заслуживающими внимания и отправит соответствующий запрос. По типу распространения Vim относится к Сharityware, т.е. вместо продажи программы или сбора пожертвований на нужды проекта авторы Vim просят перечислить любую сумму на благотворительность, если программа понравится пользователю.
- Реализована поддержка всплывающих окон, которые наряду со свойствами текста в ходе опроса на конференции VimConf 2018 были отмечены разработчиками плагинов как наиболее востребованные возможности, которых не хватает в Vim. Всплывающие окна позволяют отображать сообщения, отрывки кода и любую другую информацию поверх редактируемого текста. Данные окна могут быть подсвечены разными способами, быстро открыты и закрыты. Реализация указанной функциональности потребовала существенной доработки ранее используемых механизмов вывода на экран, а также расширения API для обеспечения работы со всплывающими окнами из плагинов.
- Добавлена возможность определения свойств текста, при помощи которых можно выделять цветом куски текста или подсвечивать произвольные области. Свойства текста можно использовать в форме работающего в асинхронном режиме механизма выделения текста, альтернативного ранее доступным возможностям подсветки синтаксиса на базе шаблонов. Особенностью свойств текста также является то, что они соединены со связанным с ними текстом и сохраняются даже при вставке новых слов перед выделенным текстом.
- Для наглядной демонстрации новых возможностей Vim 8.2 подготовлен плагин с игрой, позволяющей стрелять в бегущих по экрану овец. Бегущие овцы отображаются при помощи всплывающих окон, а расцветка реализована через свойства текста.
- Для демонстрации свойств текста дополнительно опубликован плагин govim, используемый для подсветки синтаксиса в программах на языке Go с получением информации о семантике языка с внешнего LSP-сервера ( Language Server Protocol). Всплывающие окна в 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 0.5. Neovim представляет собой ответвление от Vim, сфокусированное на повышении расширяемости и гибкости. В рамках проекта уже более пяти лет проводится активная переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять, не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Плагины к Neovim запускаются как отдельные процессы, для взаимодействия с которыми используется формат MessagePack.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.