Vim (Vi Improved)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 00:56, 20 апреля 2017.
Vim
Vimlogo.svg
Vim-(logiciel)-console.png
Vim в «консольном» режиме
Создатели: Брам Моленар
Выпущена: 2 ноября 1991 года
Постоянный выпуск: 8.0.0402 / 2 марта 2017
Написана на: C и Vim script[1]
Операционная система: UNIX, Linux, Windows NT, macOS, iOS, Android, AmigaOS, OS/2
Локализация: английский, китайский, французский, немецкий, итальянский, японский, персидский, польский, русский, испанский[2]
Тип ПО: Текстовый редактор
Лицензия: GPL-совместимая (Vim License), charityware[3]
Веб-сайт vim.org

Vim (МФА: [vɪm]; сокр. от Vi Improved — улучшенный vi, произносится «вим») — свободно распространяемый текстовый редактор, созданный на основе более старого vi. На сегодняшний день это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам.

Он был написан и поддерживается Брамом Моленаром (Bram Moolenaar). Вокруг Vim выросло целое сообщество, которое при помощи номинаций и голосования во время циклов разработки коллективно решает, какие новые функции нужно добавлять, а какие из существующих – изменить.

Vim предоставляет отсутствующие в vi, но необходимые при работе с современным редактором возможности, например простоту в использовании, поддержку графических терминалов, цвета, подсветку синтаксиса и форматирование, а также расширенную настройку.

Пользовательский интерфейс Vim’а может работать в чистом текстовом (консольном) режиме. Существует и модификация для использования в графическом оконном интерфейсе — GVim. Многие пользовательские команды в GVim могут вызываться через соответствующие пункты меню.

Обзор

История создания

Брам Моленар начал работать над Vim после того, как купил компьютер Amiga в 1988 году. Будучи пользователем UNIX, он применял vi-подобный редактор под названием stevie, который показался ему далеким от совершенства. К счастью, у того был открытый исходный код, и Брам начал исправлять ошибки и делать редактор более совместимым с vi. Через некоторое время программа стала вполне пригодной к использованию, и Vim версии 1.14 был опубликован на Fred Fish disk 591 (коллекция свободного ПО для Amiga).

Программа понравилась многим пользователям, и некоторые из них присоединились к ее разработке. За переносом в UNIX последовал перенос на MS-DOS и другие системы, вследствие чего Vim стал одной из наиболее распространенных модификаций vi. Многие функции добавлялись постепенно: многоуровневая отмена, многооконность и т. д. Некоторые особенности уникальны для Vim, но большинство было позаимствовано из других разновидностей vi. Целью всегда оставалось предоставить пользователю лучшие возможности.

На сегодняшний день Vim является самым полнофункциональным из всех редакторов в стиле vi и предоставляет исчерпывающую онлайн-справку[4].

Одной из самых необычных функций Vim является поддержка набора текста справа налево, что полезно при использовании таких языков, как иврит и фарси, и иллюстрирует универсальность Vim. Другое его преимущество — надежность. Сбои в работе редактора очень редки, а если и случаются, то можно восстановить изменения.

Разработка Vim продолжается. Группа людей, добавляющих в него новые возможности и портирующая его на другие платформы, постоянно растет. Кроме того, растет и качество портов на различные операционные системы.

Почему Vim?

Vim расширил традиционную функциональность vi настолько сильно, что легче спросить «А почему не Vim?». vi ввел стандарт, который позаимствовали другие редакторы (vile, elvis, nvi), а Vim подхватил эту тенденцию и шагнул дальше. В нем разработчики осмелились кардинально изменить функции, порой заставляя процессоры работать на пике своих возможностей, чтобы выполнить задачи Vim за приемлемое время.

Сравнение и отличие от vi

Vim более широко доступен по сравнению с vi. Существует как минимум несколько версий Vim, доступных практически на всех операционных системах, в то время как vi работает только в UNIX и UNIX-подобных системах.

vi — это оригинал, слабо меняющийся с течением времени. Он скрупулезно следует стандартам POSIX и хорошо выполняет свою роль. Там, где кончается vi, начинается Vim, который предоставляет те же возможности и расширяет их, добавляя графический интерфейс и такие функции, как комплексные опции и поддержка скриптов, выходя далеко за пределы изначальных способностей vi.

Один из способов противопоставить функции Vim возможностям vi — пристально взглянуть на его каталог файлов справки. Многие опции, команды и функции Vim в этих файлах имеют аннотацию «not in vi» или «not available in vi» (в переводе с англ. — «недоступно в vi»).

Основное отличие от «обычных» текстовых редакторов

Одна из главных особенностей редактора — применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нём) и текстового (англ. insert mode, режим непосредственного редактирования текста, аналогичный большинству «обычных» редакторов). Существуют и другие режимы.

Категории функций

Функции Vim охватывают диапазон действий, отвечающих любой мыслимой задаче редактирования текста. Ниже приведены некоторые категории его функций:

Синтаксические расширения

Vim помогает управлять отступами и выделением текста цветом на основе синтаксиса и предоставляет множество опций для этого. Например, если вам не понравилась цветовая раскраска, то ее можно поменять, а если требуются отступы в определенном стиле, Vim его предоставит. Если необходим особенный стиль, то также можно настроить свое окружение.

Помощь программисту

Хотя Vim не пытается обеспечить все потребности программиста, у него есть множество функций, обычно присутствующих в интегрированных средах разработки (IDE). В нем есть специализированные функции, позволяющие править код быстрее, начиная от ускорения цикла «редактирование-компиляция-отладка» и заканчивая автозавершением ключевых слов. Так, Vim не только ускоряет процесс редактирования, он помогает программировать.

Графический пользовательский интерфейс (GUI)

Vim, подобно многим современным удобным в использовании редакторам, позволяет править текст в стиле «указал и щелкнул», что делает его доступным для более широкого круга пользователей. Всем возможностям, предназначенным для опытных пользователей, придается новый импульс, потому что GUI значительно облегчает их применение в задачах редактирования.

Скрипты и плагины

Vim позволяет написать для него пользовательское расширение или скачать плагин из Интернета. Таким образом, вы можете сами сделать вклад в развитие редактора, опубликовав свои расширения для всеобщего использования.

Инициализация

Для определения сеансов при старте Vim, как и vi, использует конфигурационные файлы, но в Vim круг определяемых поведений намного шире. Можно свести его к простой установке нескольких опций, как в vi, либо написать целый комплект настроек, которые определят сеанс работы в зависимости от заданного контекста. Например, можно написать сценарий, по которому файлы инициализации делали бы предкомпиляцию кода в зависимости от каталога, в котором вы редактируете файлы, или запросить информацию из какого-нибудь источника в реальном времени и включить ее в ваш текст при загрузке.

Контекст сеанса

Vim хранит информацию о сеансе в файле .viminfo. В Vim пользователь вправе сам задавать количество и вид информации, сохраняющейся от сеанса к сеансу. Например, можно определять, сколько нужно запоминать «недавних документов», то есть последних редактировавшихся файлов, сколько исправлений (удалений, изменений) помнить для данного файла, сколько команд хранить в истории команд и сколько буферов и строк хранить из предыдущих правок («вставок», «удалений» и т. д.). Vim не только запоминает правки последнего сеанса работы с файлом, но и помнит основные действия между разными файлами. Кроме того, этот редактор запоминает последний шаблон поиска, так что для поиска по последнему шаблону можно просто использовать команду n (найти следующее вхождение) сразу после начала сеанса работы. Также Vim запоминает, на какой строке находился пользователь в каждом из недавно редактировавшихся файлов.

Постобработка

Вдобавок к выполнению функций перед сеансом работы, Vim позволяет определить, что нужно сделать после редактирования файла. Например, можно написать процедуры очистки, удаляющие временные файлы, созданные во время компиляций, или проделать исправления в файле в реальном времени перед тем, как записать его обратно на диск. Таким образом, имеется полный контроль над действиями после редактирования.

Переходы

Vim поддерживает переходы между состояниями. При перемещении от буфера к буферу или от окна к окну (обычно это одно и то же) во время сеанса редактирования Vim автоматически делает пред- и постобработку.

Прозрачное редактирование

Редактор распознает и автоматически распаковывает заархивированные или сжатые файлы. Например, можно напрямую редактировать gzip-файл и даже каталоги. Vim позволит перейти в каталог и выбрать файлы для правки, используя обычные команды перемещения.

Метаинформация

Vim предлагает четыре удобных регистра, из которых пользователь может извлекать метаинформацию для «вставок»: имя текущего файла (%), имя альтернативного файла (#), последняя команда, выполненная в командной строке (:), и последний вставленный текст (., точка).

Регистр «черная дыра»

Это малоизвестное, но полезное расширение регистров редактирования. Как правило, удаление текста помещает его в буферы по схеме ротации, полезной при циклическом проходе по предыдущим удалениям для извлечения ранее удаленного текста. В Vim есть регистр «черная дыра», куда можно «выбрасывать» текст без влияния на ротацию удаленного текста в обычных регистрах. Если вы — пользователь UNIX, то можете рассматривать этот регистр как версию /dev/null для Vim.

Автозавершение ключевых слов

Vim позволяет завершать частично набранные слова при помощи правил автозавершения, зависящих от контекста. Например, он может искать слово либо в словаре, либо в файле, содержащем ключевые слова для данного языка.

Философия

Философия Vim близка к vi. Оба делают редактирование мощным и элегантным, опираются на модальность (командный режим и режим вставки), переносят редактирование на клавиатуру, то есть пользователи могу проделать всю работу быстро и эффективно, не притрагиваясь к мыши (и не нажимая Ctrl+X и Ctrl+C). Этот подход можно расценить как «слепое редактирование», аналогично «слепой печати», отразив получаемое повышение скорости и эффективности в соответствующих задачах.

Vim дополняет эту концепцию, разрешая и предоставляя функции для менее опытных пользователей (GUI, визуальный режим) и продвинутые опции для более опытных (скрипты, расширенные регулярные выражения, настраиваемые синтаксис и отступы).

А для суперопытных пользователей, любящих программировать, Vim предоставляет свой исходный код. Пользователям разрешается (и даже поощряется) «усовершенствовать усовершенствования». С философской точки зрения Vim предлагает компромисс, удовлетворяющий потребности всех пользователей.

Обучающая программа vimtutor


Помощь и упрощения для новичков

Признавая, что как vi, так и Vim требуют от пользователя определенного уровня подготовки, Vim предоставляет несколько вариантов своего упрощенного использования:

  1. Графический Vim (gvim): при вызове команды gvim пользователь получает графическое окно, где предлагается Vim с некоторыми добавочными функциями, действующими по принципу «указал и щелкнул», которые приобрели популярность в современных графических программах. Во многих окружениях gvim — это отдельный двоичный файл, который получается путем компилирования Vim с включением всех графических опций. Также его можно вызвать командой vim -g.

  2. «Простой» Vim: команда evim меняет поведение некоторых стандартных функций vi на более простое и интуитивно понятное для людей, не знакомых с этим редактором. Возможно, опытным пользователям данный режим не покажется легким, поскольку они уже привыкли к стандартному поведению vi. Также его можно вызвать командой vim -e.

  3. vimtutor: Vim поставляется вместе с vimtutor — отдельной командой, запускающей редактор со специальным файлом справки. Такой вызов Vim дает пользователям еще одну отправную точку для изучения редактора. Для завершения vimtutor требуется примерно 30 минут.

Кроме того, Vim поставляется с документацией, содержащей более 100 000 строк. Почти вся она доступна при обращении к встроенной в редактор функции справки и в самом простом виде вызывается командой :help.

Режим работы

Нормальный режим

По умолчанию Vim начинает свою работу в нормальном режиме, который также называют командным. Нажатие клавиш в этом режиме воспринимается как команды (копирования, удаления, перемещения текста и т. д.). Переход в нормальный режим из любого другого режима осуществляется нажатием клавиши Esc (иногда требуется двойное нажатие).

Примеры команд перемещения курсора: знак подчеркивания указывает на текущее положение курсора; кружки показывают, какие его перемещения относительно текущей позиции вызовут те или иные команды Vim

Перемещения курсора

В командном режиме можно перемещать курсор в любую часть файла. Для этого в Vim есть команды, которые перемещают курсор:

  • Вверх, вниз, влево или вправо на один символ.
  • Вперед или назад на текстовые блоки, такие как слова, предложения или абзацы.
  • Вперед или назад по файлу на один экран.

Для простых перемещений по текстовому файлу используйте следующие клавиши:

  • h — на один символ влево;
  • j — на одну строку вниз;
  • k — на одну строку вверх;
  • l — на один символ вправо.

Перед командами перемещения можно указывать число. Это приведёт к повторению оператора перемещения заданное количество раз. Например, команда 4l переместит курсор на четыре символа вправо, как если бы вы нажали четыре раза на l (llll).

Для перемещения по строке есть используются следующие команды:

  • 0 (клавиша «ноль») — перемещает в начало строки;
  • $ — перемещает в конец строки.

Курсор можно перемещать и по текстовым блокам, таким как слова, предложения, абзацы и т. д. Команда w перемещает курсор вперед на одно слово, при этом символы и знаки препинания тоже считаются словами. Следующая строка демонстрирует перемещение курсора с помощью w:

W lower.png

Командой W можно перемещаться без учета символов и знаков препинания. Передвижение курсора при помощи W выглядит так:

W upper.png

Для движения по словам в обратном направлении используется b. Прописная B позволит делать то же самое, но без учета пунктуации. Нажатие клавиши e перемещает курсор в конец слова (не включая последующий пробел). Для перехода на определенную строку используйте команду G. Просто G переместит вас в конец файла, 1G – в его начало, а 42G – на строку под номером 42.

Конечно же, подобных команд существует гораздо больше. Дело в том, что вам нужно изучить эти команды, чтобы использовать. Вы можете возразить, что, вероятно, не сможете выучить все эти команды, ведь существуют сотни различных команд перемещения, среди которых есть и простые, и достаточно хитроумные, и что уйдут недели тренировок на изучение всех этих команд. Что ж, вам и не нужно изучать их все. Вместо этого нужно разобраться в своём индивидуальном стиле редактирования и изучить только те команды, которые помогут сделать его более эффективным.[5]

Брам Моленар

Редактирование текста

Находясь в нормальном режиме нажмите x для удаления символа под курсором.

Например, dw используется для удаления участка текста до конца слова, а команда d$ — для удаления текста до конца строки. После нажатия daw (англ. delete ambient word) удалится текущее слово под курсором.

Кроме того, можно также добавить число перед объектом в комбинацию оператора удаления — d2w удалит 2 слова, следующих за курсором.

Текст перемещается путем его «удаления» командой d и последующей «вставки» командой p (англ. put); при копировании текста следует сначала нажать y для «копирования» (англ. yank), затем p — для «вставки».

Для отмены результата работы предыдущей команды: u, для отмены всех изменений в строке наберите: U.

Поиск в текущей строке

Ниже представлены команды поиска в строке. Ни одна из них не переведет курсор на другую строку.

  • fx — найти следующее вхождение «x» в строке и переместить на него курсор («x» — произвольный символ).
  • Fx — найти предыдущее вхождение «x» в строке и переместить на него курсор.
  • tx — найти символ перед следующим вхождением «x» в строке и переместить на него курсор.
  • Tx — найти символ перед предыдущим вхождением «x» в строке и переместить на него курсор.

Режим вставки

В данном режиме производится ввод текста. Для перехода из командного режима в режим вставки можно нажать i (для начала вставки текста на месте курсора) или a (для начала вставки текста после курсора).

Также существует ряд других клавиш и их сочетаний для перехода в режим непосредственного редактирования текста. Например, текст в файле можно заменять при помощи соответствующей команды c (англ. change). Чтобы сообщить ей, сколько именно текста нужно поменять, сочетайте ее с командой перемещения. В этом случае команда перемещения служит как текстовый объект, на который влияет команда c. Так, cw производит изменение текста, расположенного до конца слова, а c2b — изменение текста, расположенного назад на два слова. После вызова команды изменения указанный отрезок текста можно заменить любым количеством нового, пустой строкой, одним словом или сотней строк. Подобно i и a, команда c оставляет пользователя в режиме вставки до нажатия Esc.

В этом режиме Vim работает так же, как и большинство «обычных» текстовых редакторов. По умолчанию набранные символы не воспринимаются как команды, а вставляются в существующий текст.

Общий вид команд Vim

Многие команды, изменяющие текст, отвечают следующему шаблону:

(command)(number)(text object) или (number)(command)(text object),

где command — одна из команд (изменения, удаления копирования и т. п.), number — числовой аргумент, а text object — команда перемещения (без скобок).

number и command необязательны, без них получится просто команда перемещения. Если вы добавите число, перемещение будет повторяться. С другой стороны, сочетая команду (изменения, удаления копирования и т. п.) с текстовым объектом, можно получить команду редактирования. Таким образом, можно составлять целые комбинации, что делает Vim поистине мощным редактором.

Режим командной строки

Этот режим вызывается нажатием : из нормального режима. За двоеточием следует команда (например, поиска или замены), которая после ввода передаётся на исполнение нажатием ↵ Enter. После выполнения команды редактор возвращается в нормальный режим.

Изменение блока текста в визуальном режиме Vim

Все команды, начинающиеся с двоеточия, называются командами ex-режима. Поскольку Vim — это визуальный режим более общего, базового строкового редактора ex. Так, с помощью команд ex можно выходить из файла:

  • :w — записывает (сохраняет) буфер в файл, но не выходит из программы;
  • :q — выходит из редактора (и возвращает в приглашение командной строки UNIX);
  • :wq — выполняет два действия: записывает файл и выходит из редактора. Производится безусловная запись, даже если файл не был изменен;
  • :x — записывает файл и выходит из редактора. Файл записывается только в том случае, если в нем произошли изменения.

К этому режиму также относятся команды поиска дальше по тексту /, поиск назад по тексту ? и команда-фильтр ! для передачи данных внешнему фильтру.

Визуальный режим

Визуальный режим чем-то схож с командным. С помощью специальных управляющих команд, в сочетании со стрелками и командами навигации, можно посимвольно, построчно или в виде блока выделять фрагменты текста и затем применить к ним команды нормального режима (например, удаление выделенного текста или его замена). Редактирование в этом режиме проще, чем в нормальном, потому что чётко видно, к какому блоку текста будет применяться вызванная команда редактирования.

Для перехода в этот режим используйте клавишу v.

Графический Vim (gvim)

Графический Vim (gvim)

gvim дает те же функциональность, силу и возможности, что и Vim, дополняя их удобством и интуитивностью графического окружения. gvim предоставляет графические возможности, привычные любому современному пользователю, от традиционных меню до редактирования с визуальной подсветкой. Одни графические функции gvim служат обертками для базовых возможностей Vim, а другие реализуют парадигму «наведи и щелкни», к которой уже привыкла большая часть пользователей компьютеров.

gvim вносит в графическое окружение один хороший штрих, упрощающий отдельные, особо таинственные команды Vim — действия, доступные из меню.

Меню в gvim содержит множество самых полезных и популярных команд Vim по управлению окнами, к которым относятся команды, разделяющие отдельное графическое окно на несколько областей. Меню в gvim, выпадающее по правой кнопке мыши, предоставляет доступ к операциям выделения, вырезания, копирования, удаления и вставки. В gvim присутствуют обычные виджеты GUI, такие как полосы прокрутки, меню и панели инструментов. Как и в большинстве современных графических приложений, эти виджеты можно настраивать.

Интересно заметить, что опции меню gvim служат просто обертками для команд Vim. Фактически пользователь может сам создавать и настраивать пункты меню.

Скрипты Vim

Vim позволяет определить все установки для создания требуемого окружения редактора в конфигурационном файле .vimrc — при запуске Vim сначала читает этот файл и применяет записанные в нем настройки. Например, можно подстроить окружение под любую цветовую схему, прописав в файле .vimrc команду colorscheme. Но для более динамичной настройки используются скрипты Vim. Они дают возможность выполнять сложные задачи и принимать решения согласно потребностям пользователя, от проверки содержимого буфера до обработки непредвиденных внешних факторов.

Все команды и опции Vim работают и в скриптах. Кроме того, Vim предоставляет стандартное управление выполнением программы (if...then...else, while и т. д.), переменные и функции, типичные для других языков.

Vim script

Сценарии подразумевают использование языка для их создания и редактирования. Vim script — это динамический командный (императивный) язык, встроенный в редактор Vim и предоставляющий большую часть функциональности обычного языка: переменные, выражения, управляющие структуры, встроенные функции, пользовательские функции, полнофункциональные строки, высокоуровневые структуры данных (списки и словари), файловый и консольный ввод/вывод, работу с регулярными выражениями, исключения и встроенный отладчик.

Переменные

Значение переменной присваивается командой let:

:let var = "value"

В Vim есть переменные пяти типов:

  • "Number" — знаковое 32-разрядное число;
  • String — символьная строка;
  • Funcref — ссылка на функцию;
  • List — это Vim-версия массивов. Представляет собой упорядоченный «список» значений и может содержать в качестве элементов любые данные Vim;
  • Dictionary — это Vim-версия хэша, который часто называют также ассоциативным массивом. Это неупорядоченные пары значений, причем первое выступает как ключ, по которому можно найти связанное с ним значение.

Выражения

Редактор вычисляет выражения довольно очевидным путем. Выражение может быть простым, например число или символьная строка, а также сложным, например составное выражение, составленное из других выражений.

Важно отметить, что математические функции Vim работают только с целыми числами. Если нужна точность и операции с плавающей запятой, используются расширения, такие как системные вызовы внешних математических процедур.

Условная конструкция

Используя конструкцию if...endif, можно управлять выполнением команд сценария:

if cond expr
    line of vim code
    another line of vim code
    ...
elseif some secondary cond expr
    code for this case
else
    code that runs if none of the cases apply
endif

Определение функций

Используя конструкцию function...endfunction, в Vim можно определять собственные функции. Вот примерный каркас пользовательской функции:

function myFunction (arg1, arg2...)
    line of code
    another line of code
endfunction

Кроме команд Vim у вас есть доступ примерно к 200 встроенным функциям: функции управления строками; функции работы со списками, словарями, переменными; функции работы с курсором и позицией; функции для работы с текстом в текущем буфере; функции управления файлами и системой и т. д.

Пример

" Пример простого цикла while в Vim script
let i = 1
while i < 5
    echo "count is" i
    let i += 1
endwhile

Расширения

Vim предоставляет множество расширений и интерфейсов для других скриптовых языков, в частности для трех наиболее популярных из них — Perl, Python и Ruby За деталями использования обращайтесь к встроенной документации Vim — :help.

Использование Vim в качестве IDE

Редактирование текстов — не единственная область применения Vim. Он предлагает прекрасный компромисс между простыми редакторами и монолитными IDE. Некоторые его возможности до недавнего времени существовали только в дорогих средах разработки. Он позволяет быстро и просто решать задачи программирования без перегрузки и сложности обучения, присущих IDE.

Многие опции, функции и команды специально разработаны для облегчения работы программиста — от сворачивания строк программы в одну строку до расцветки синтаксиса и автоматического форматирования. Vim обеспечивает специалистов множеством утилит, ценность которых постигается только при их использовании. С одной стороны, он предоставляет в некотором роде «мини-IDE» под названием Quickfix, а с другой — содержит удобные функции для разнообразных задач программирования.

Так, в Vim присутствует поддержка цикла разработки «редактирование — компиляция — исправление» программ, автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы.

Поддержка Mercurial

Значительное количество проектов по разработке свободного программного обеспечения использует Mercurial в качестве основной системы контроля версий. В их число входит и Vim.

Так, можно загрузить последнюю версию Vim с помощью команды:

$ hg clone https://bitbucket.org/vim-mirror/vim

Или обновить текущую версию, используя следующие команды:

$ cd vim
$ hg pull
$ hg update

История версий

История версий
Дата Версия Изменения
1988 1.0 Брам Моленар создает для Amiga Vi IMitation,основанный на Stevie, никогда официально не выходил.
2 ноября 1991 1.14 Первая общедоступная версия для Amiga, опубликованная на Fred Fish disk 591.
1992 1.22 Портирован в UNIX. Конкуренция между Vim и vi.
14 декабря 1993 2.0 Первый релиз под названием Vi IMproved.
12 августа 1994 3.0 Поддержка многооконности.
29 мая 1996 4.0 Графический пользовательский интерфейс.
19 февраля 1998 5.0 Подсветка синтаксиса, простой язык сценариев (определяемые пользователем функции, команды и т. д.).
6 апреля 1998 5.1 Исправление багов и другие изменения.
27 апреля 1998 5.2 Поддержка длинных строк, встроенный файловый браузер, диалоговые окна, всплывающее меню, функциональный режим, файлы сессий, определяемые пользователем функции и команды, Tcl-интерфейс и другие изменения.
31 августа 1998 5.3 Исправление багов и другие изменения.
25 июля 1999 5.4 Простое шифрование файлов, различные улучшения.
19 сентября 1999 5.5 Исправление багов, различные улучшения.
16 января 2000 5.6 Новые файлы синтаксиса, исправление багов и другие изменения.
24 июня 2000 5.7 Новые файлы синтаксиса, исправление багов и другие изменения.
31 мая 2001 5.8 Новые файлы синтаксиса, исправление багов и другие изменения.
26 сентября 2001 6.0 Сворачивание (фолдинг), плагины, мультиязычность и другие изменения.
24 марта 2002 6.1 Исправление багов.
1 июня 2003 6.2 GTK2, поддержка арабского языка, команда :try, незначительные изменения и исправления багов.
7 июня 2004 6.3 Исправление багов, обновление переводов.
15 октября 2005 6.4 Исправление багов, обновления поддержки Perl, Python и Ruby.
7 мая 2006 7.0 Система проверки правописания, автозавершение ключевых слов, вкладки, подсветка текущей строки и столбца и другие изменения.
12 мая 2007 7.1 Исправление багов, новые исполняемые файлы и файлы синтаксиса, и другие изменения.
9 августа 2008 7.2 Исправление багов, новые исполняемые файлы и файлы синтаксиса, улучшение безопасности и другие изменения.
15 августа 2010 7.3 Поддержка Lua и Python3, поддержка алгоритма шифрования Blowfish, неограниченное число undo/redo и другие изменения.
10 августа 2013 7.4 Новый, более быстрый движок для поддержки регулярных выражений и другие изменения.
12 сентября 2016 8.0 Поддержка асинхронного ввода-вывода, заданий (jobs), лямбда-выражений и другие улучшения.

Примечания

Литература

  1. Роббинс, Арнольд; Элберт, Ханна; Лэмбл, Линда (2013). Изучаем редакторы vi и Vim (in Russian) (7 ed.). Символ-Плюс. ISBN 978-5-93286-200-1. 
  2. Neil, Drew (2015). Practical Vim: Edit Text at the Speed of Thought (in English) (2 ed.). The Pragmatic Bookshelf. ISBN 978-1-68050-127-8. 

Ссылки



Vimkey.jpg