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

18 мая 2018 года

После почти двух лет разработки состоялся релиз текстового редактора Vim 8.1, который отнесён к категории незначительных выпусков, в котором устранены накопившиеся ошибки и предложены единичные новшества.

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

Ключевым улучшением в выпуске 8.1 является поддержка открытия терминала внутри окна Vim. Терминал стал первой видимой пользователю встроенной функциональностью, реализованной с использованием добавленных в ветке Vim 8.0 средств для организации запуска обработчиков в фоне и взаимодействия с ними через механизм асинхронных каналов, без блокировки работы основного процесса Vim. Создание окна с терминалом осуществляется командой ":term", для переключения в окно терминала и обратно предоставляется клавиатурная комбинация "CTRL-W w".

В качестве областей применения встроенного терминала упоминается:

  • Быстрый запуск серии команд в shell по ходу редактирования;
  • Выполнение сборочных команд, подобных make, продолжая редактирование кода в других окнах vim и контролируя ход сборки;
  • Запуск в терминале отладочного плагина для отладки непосредственно в Vim с возможностью ввода команд в gdb;
  • Проведение различных тестов, в том числе тестов интерактивных действий, таких как работа всплывающих меню;
  • Доступ к консоли при редактировании файлов на удалённом хосте, вход на который осуществлён по SSH (можно быстро запустить терминал, без применения screen/tmux и без установки нового ssh-соединения).

Среди других изменений:

  • В коде vim разрешено применение некоторых возможностей спецификации C99, таких как комментарии через "//" и оставление запятой после последнего элемента множества;
  • Добавлены новые команды: ":pythonx", ":pyxdo", ":pyxfile", ":terminal", ":tmapclear", ":tmap", ":tnoremap", ":tunmap";
  • Добавлены новые функции: term_*, assert_beeps, assert_equalfile,

assert_report, balloon_show, balloon_split, ch_canread, getchangelist, getjumplist, getwinpos, pyxeval, remote_startserver, setbufline, test_ignore_error, test_override, trim и win_screenpos;

  • Добавлены новые обработчики событий: CmdlineChanged, CmdlineEnter, CmdlineLeave, ColorSchemePre, DirChanged, ExitPre, TerminalOpen, TextChangedP, TextYankPost;
  • Добавлены новые опции: 'balloonevalterm',

'imstyle', 'mzschemedll', 'mzschemegcdll', 'makeencoding', 'pumwidth', 'pythonhome', 'pythonthreehome', 'pyxversion', 'termwinkey', 'termwinscroll', 'termwinsize', 'viminfofile', 'winptydll'.

Дополнительно можно отметить, подготовку экспериментальной ветки редактора Neovim 0.3. Neovim представляет собой ответвления от Vim, сфокусированное на повышении расширяемости и гибкости. В рамках проекта уже более четырёх лет проводится агрессивная переработка кодовой базы Vim, в результате которой вносятся изменения, упрощающие сопровождение кода, предоставляющие средства разделения труда между несколькими мэйнтейнерами, отделяющие интерфейс от базовой части (интерфейс можно менять не трогая внутренности) и реализующие новую расширяемую архитектуру на основе плагинов. Плагины к Neovim запускаются как отдельные процессы, для взаимодействия с которыми используется формат MessagePack.

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


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

Комментарии

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