Релиз текстового редактора 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.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз текстового редактора Vim 8.2», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.