Релиз текстового редактора 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.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.