Релиз текстового редактора Vim 8.0

12 сентября 2016 года

После трёх лет разработки и после более 10 лет развития ветки 7.x состоялся релиз текстового редактора Vim 8.0. Код Vim распространяется под собственной копилефт лицензией, совместимой с GPL, и позволяющей без ограничений использовать, распространять и перерабатывать код. Основная особенность лицензии Vim связана с возвратом изменений - реализованные в сторонних продуктах улучшения должны быть переданы в исходный проект, если мэйнтейнер Vim посчитает эти улучшения заслуживающими внимания и отправит соответствующий запрос. По типу распространения, Vim относится к Сharityware, т.е. вместо продажи программы или сбора пожертвований на нужды проекта, авторы Vim просят перечислить любую сумму на благотворительность, если программа понравится пользователю.

Основные новшества:

  • Поддержка асинхронного ввода/вывода и каналов, позволяющих обмениваться сообщениями с другими процессами в фоновом режиме, что даёт возможность отправлять задания отдельным серверным обработчикам и принимать результаты не прерывая работу основного процесса Vim. Данные при взаимодействии между процессами могут передаваться в формате JSON, что позволяет создавать достаточно сложные плагины на любом языке программирования, работающие в форме отдельно выполняемых серверных процессов;
  • Концепция, позволяющая запустить некоторую задачу в фоне, взаимодействовать с ней и остановить при необходимости. Таким образом, например, можно запустить специальный процесс для проверки синтаксиса или автодополнения кода. Задачи могут записывать и читать содержимое буфера или файла, а также взаимодействовать с основным процессом через каналы;
  • Таймеры, которые позволяют запускать функции через определённое время или через повторяющиеся промежутки времени;
  • Дополнительные средства для косвенного вызова функций - "Partial", которые в отличие от Funcref кроме ссылки на функцию дополнительно прикрепляют к запросу аргументы и словари, что удобно для совершения callback-обращений через каналы и таймеры;
  • Поддержка лямбда-выражений и замыканий для быстрого создания пользовательских функций ("{args - expr}");
  • Реализация пакетов для установки, обновления и управления плагинами;
  • Возможность обращения к окнам по привязанным к ним уникальным идентификаторам, а не по порядковому номеру окна;
  • Из viminfo информация теперь извлекается на основании времени записи, а не последнего добавленного элемента;
  • Добавлена опция 'breakindent' для смещения строк без нарушения отступов;
  • Добавлена опция 'renderoptions', позволяющая задействовать DirectX (DirectWrite) для отрисовки вывода в Windows;
  • Поддержка сборки графического интерфейса с GTK+ 3. При наличии GTK+ 2 и GTK+ 3 по умолчанию по-прежнему используется GTK+ 2.

Источники править


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

Комментарии

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