Меню

Главная
Случайная статья
Настройки
Vim
Материал из https://ru.wikipedia.org

Vim (сокр. от Vi Improved, произносится «вим») — свободный текстовый редактор, созданный на основе более старого vi, разработанного Биллом Джойем. Автор Vim’а, Брам Моленар, создал его из порта редактора Stevie для Amiga[6][7] и в 1991 году выпустил общедоступную версию. Vim предназначен для использования как в интерфейсе командной строки, так и в качестве отдельного приложения в графическом пользовательском интерфейсе[8].

С выпуска для Amiga кроссплатформенная разработка сделала Vim доступным для многих других систем. В 2018 году он был признан самым популярным редактором среди читателей Linux Journal[9]; в 2015 году опрос разработчиков на Stack Overflow показал, что он стал третьим по популярности текстовым редактором[10], а в 2019 году — пятой по популярности средой разработки[11].

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

Содержание

История

Предшественник Vim’a, Stevie, был создан Тимом Томпсоном для Atari ST в 1987 году[12][13] и доработан Тони Эндрюсом[12][14] и G. R. (Fred) Уолтером[15][16].

Взяв за основу Stevie, Брам Моленар начал работать над Vim для компьютера Amiga в 1988 году, а первый публичный релиз (Vim v1.14) состоялся в 1991 году[17][18].

Во время первого выпуска название «Vim» было акронимом от «Vi IMitation», но в конце 1993 года оно было изменено на «Vi IMproved»[19].
История версий
Дата Версия Изменения
Июнь 1987 года N/A Тим Томпсон выпускает Stevie, ограниченный клон vi для Atari ST, публикуя исходный код на Usenet.[12][13]
Июнь 1988 года N/A Тони Эндрюс улучшает Stevie и переносит его на Unix и OS/2, выпуская версию 3.10 на Usenet.[12][14]
1988 год 1.0 Брам Моленар создаёт Vi IMitation, который никогда официально не выходил.
2 ноября 1991 года 1.14[20] Первая общедоступная версия для Amiga[21].
1992 год 1.22[20] Порт для Unix, никогда не публиковался. Теперь Vim конкурирует с vi.
December 14, 1993 2.0[22] Первый выпуск под названием Vi IMproved.[19]
12 августа 1994 года 3.0[20] Поддержка разбиения окон
29 мая 1996 года 4.0[20] Графический пользовательский интерфейс
19 февраля 1998 года 5.0[20] Подсветка синтаксиса, простой язык сценариев (определяемые пользователем функции, команды и т. д.)
6 апреля 1998 года 5.1 Исправление ошибок и другие улучшения
27 апреля 1998 года 5.2 Поддержка длинных строк, встроенный файловый браузер, диалоги, всплывающие меню, select mode, файлы сессий, определяемые пользователем функции, команды, 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[20][23] Сворачивание, плагины, многоязычность и др.
24 марта 2002 года 6.1 Исправление ошибок
1 июня 2003 года 6.2 Поддержка GTK2 и libgnome2, поддержка арабского, команда: try, мелкие особенности, исправление ошибок
7 июня 2004 года 6.3 Исправление ошибок, обновление переводов, улучшения меток
15 октября 2005 года 6.4 Исправление ошибок, обновления поддержки Perl, Python и Ruby
7 мая 2006 года 7.0[24] Проверка правописания, автодополнение, вкладки («tab-ы»), подсветка текущей строки и столбца, undo branches и другие изменения
12 мая 2007 года 7.1 Исправление ошибок, новые исполняемые файлы и файлы синтаксиса и др.
9 августа 2008 года 7.2[25] Поддержка чисел с плавающей запятой в сценариях, рефакторинг кода отрисовки экрана, исправление ошибок, новые файлы синтаксиса и др.
15 августа 2010 года 7.3 Исправление ошибок, новые исполняемые файлы и файлы синтаксиса, улучшение безопасности, «вечные» undo и redo, прекращение поддержки Mac OS 9 и GTK1, поддержка Lua и Python3 и др.
10 августа 2013 года 7.4[26] Новый, более быстрый движок для поддержки регулярных выражений
12 сентября 2016 года 8.0[27] Асинхронный ввод/вывод, лямбда-выражения, замыкания, поддержка GTK+ 3 и Microsoft DirectX и др.
18 мая 2018 года 8.1[28] Поддержка открытия терминала внутри окна Vim[29].
14 декабря 2019 года 8.2[30] Всплывающие окна, свойства текста.
28 июня 2022 года 9.0[31] Vim9 script
2 января 2024 года 9.1[32] Поддержка классов и объектов в Vim9 script, сглаженная прокрутка, виртуальный текст


Лицензия

Vim распространяется по GPL-совместимой лицензии, известной как Charityware (англ. charity — благотворительность). Часть средств, пожертвованных на разработку Vim, тратится на поддержку сирот Уганды посредством организации ICCF Holland.

Интерфейс

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

Vim не интуитивен (кроме «текстового» режима), так что эффективная работа с редактором требует предварительного обучения.

Как и у vi, интерфейс Vim основан не на меню или значках, а на командах, заданных в текстовом пользовательском интерфейсе. Графический режим, gVim, добавляет меню и панели инструментов для часто используемых команд, но полная функциональность по-прежнему используется через интерфейс командной строки. Vi (и, соответственно, Vim), как правило, позволяет наборщику держать пальцы на среднем («домашнем») ряду, что может быть преимуществом для слепого метода печати[33].

В Vim есть встроенный учебник для начинающих под названием vimtutor, который обычно устанавливается вместе с Vim, но представляет собой отдельный исполняемый файл и может запускаться с помощью команды оболочки[34]. Руководство пользователя Vim, подробно описывающее функции Vim, можно прочитать прямо в Vim или найти в Интернете[35][36].

Также Vim имеет подробную справочную систему и систему навигации и перехода между её разделами. Чтобы открыть любой её раздел, достаточно воспользоваться командой :help в командном режиме.

Регистры

У Vim есть специальные элементы памяти — регистры (не путать с аппаратными средствами или регистрами процессора) — в которые можно сохранить обработанный текст при его вырезании, удалении, копировании или вставке. Есть 36 регистров общего назначения, связанных с буквами и цифрами ([a-z0-9]), и ряд специальных регистров, которые либо содержат специальные значения (текущее имя файла, последняя команда и т. д.), либо служат для специальной цели.[8]:85

Режимы работы

Как и vi, vim поддерживает несколько режимов редактирования. В зависимости от режима вводимые символы интерпретируются либо как последовательности команд, либо вставляются как текст. Всего есть 12 режимов редактирования, 6 из которых — основные[37].
  • Нормальный режим (normal mode) — используется для команд редактора. Обычно это режим по умолчанию; нажатие ESC возвращает редактор в этот режим.
  • Режим вставки (insert mode) — используется для ввода текста аналогично большинству редакторов. В этом режиме открытый текст в буферах можно модифицировать текстом, введённым с клавиатуры[38].[33]
  • Визуальный режим (visual mode) — используется для выделения областей текста. Выбранную область можно перемещать, редактировать и т. д.
    • Визуальный линейный (visual linewise) — подтип визуального режима, в котором выбирается одна или несколько целых строк.
    • Визуальный поблочный (visual blockwise) — другой подтип, который выделяет прямоугольный блок текста в одной или нескольких строках.
  • Режим выбора (select mode) — аналогичный визуальному, но команды не интерпретируются, вместо этого выделенный текст напрямую заменяется вводом с клавиатуры. Аналогичен режиму выделения, используемому в редакторах на платформах Microsoft Windows.
  • Режим командной строки (command-line mode или cmdline mode) — обеспечивает однострочный ввод в нижней части окна Vim. Команды, начинающиеся с
  • Ex mode mode — принимает последовательность команд.




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

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

Среди команд нормального режима есть «односимвольные» команды. Так, например, нажатие

Другие команды для своей работы будут ждать дальнейшего продолжения ввода. Например

После нажатия

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

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

Режим вставки (англ. insert mode), в котором производится ввод текста.

Для перехода из командного режима в режим вставки можно нажать i (для начала вставки текста на месте курсора) или I (для начала вставки с начала строки) или a (для начала вставки текста после курсора) или A (для начала вставки в конец строки) . Также существует ряд других клавиш и их сочетаний для перехода в режим непосредственного редактирования текста (например, через одну из команд замены текстового объекта).

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

Для вставки, удаления, изменения и автодополнения текста также могут использоваться клавиатурные сочетания (Ctrl+R и др.)

При наборе слова-аббревиатуры это слово автоматически заменяется на заранее заданный текст.

Этот режим вызывается нажатием : из нормального режима. За двоеточием следует сложная команда (например, поиска или замены), которая после ввода передаётся на исполнение нажатием Enter. После выполнения команды редактор возвращается в нормальный режим. К этому режиму также относятся команды поиска дальше по тексту /, поиск назад по тексту (?) и команда-фильтр ! для передачи данных внешнему фильтру.



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

Настройка

Расширения Vim

Общее число расширений, доступных на официальном сайте, составляет более 3000[40].

К популярным расширениям Vim, в частности, относятся:
  • MiniBufferExplorer;
  • taglist — для просмотра структуры программных файлов (список функций и пр.);
  • bufexplorer (начиная с версии Vim 7.4 в основном не актуален);
  • closetag — для более удобного закрывания тегов при редактировании html и xml файлов;
  • supertab — для автодополнения слов нажатием Tab (при этом отступы строк работают как обычно);
  • project — для организации файлов в проекты для более удобной навигации по ним;
  • indexer — для генерации тегов с помощью ctags для всех файлов, входящих в проект (проект может быть организован как плагином project, так и без него). Теги нужны для быстрого перемещения от вызова функции к её объявлению, для получения списка членов структуры или класса, и т. д.


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

Обзор: избранные улучшения vi

В сравнении с классическим vi, Vim отличается следующими улучшениями:
  • Работа со многими файлами одновременно. Разбиение окон редактирования может производиться многократно как по горизонтали, так и по вертикали.
  • Поддержка Unicode.
  • Поддержка визуального режима, который позволяет, например, выполнять операции над блоками текста.
  • Неограниченная глубина отмены (undo) и возврата (redo) действий.
  • Режим сравнения двух файлов, перенос отдельных изменений из одного файла в другой.
  • Широкая файловая поддержка (файл со справкой и более 200 файлов с описанием синтаксиса).
  • Подсветка синтаксиса, автоматическое определение величины отступа для каждой строки в зависимости от языка программирования (изначально поддерживает более 200 языков программирования и форматов конфигурационных файлов).
  • Интеграция с операционной системой, дающая возможности, близкие к интегрированным средам разработки, такие как поиск ошибки по сообщению компилятора, автодополнение идентификаторов и др.
  • Поддержка языка сценариев; возможность написания модулей расширения — плагинов.
  • Автоматическое продолжение команд, слов, строк целиком и имён файлов.
  • Автоматический вызов внешних команд (например, автоматическая распаковка файла перед редактированием).
  • Распознавание и преобразование файлов различных форматов.
  • Удобный механизм истории команд, поисковых слов и т. д.
  • Запись и исполнение макросов.
  • Возможность сохранения настроек и сеанса.
  • Возможна интеграция с языками программирования Perl, Tcl, Python и Ruby.
  • Поддержка языков с письмом справа налево (арабских и других).
  • Сворачивание (folding) текста для лучшего обзора.
  • Возможно использование графического интерфейса в специальных версиях (GTK, Motif, …).
  • Хорошо конфигурируется и настраивается под нужды пользователя.
  • Для программистов: поддержка цикла разработки «редактирование — компиляция — исправление» программ. Автоматическое выполнение сборки/компиляции, обнаружение и распознавание ошибок, переход к строкам ошибок в тексте программы.
  • Для поклонников vi: практически стопроцентная совместимость с vi.


Терминология
  • Буфер — временное хранилище текста, каждый редактируемый файл связан с единственным буфером.
  • Окно — часть экрана для просмотра/редактирования одного буфера. Каждый буфер может быть размножен на неограниченное количество окон.
  • Вкладки («табы», «tabs») — механизм группировки и переключения между группами окон.
  • Именованный регистр — именованное хранилище текста для множественных вставок.
  • Регистр по умолчанию — неименованное хранилище текста.
  • Аббревиатуры — сокращения, при наборе в виде отдельных слов (но не в составе других слов) автоматически разворачивающиеся (путём замены) в заданный текст.


Vim script

Автоматизация операций

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

Так, после команды
nmap <F7> byei<<ESC>ea></<C-R>0><ESC>


нажатие F7 преобразует (в командном режиме) любое слово под курсором (вне зависимости от его длины и символов, из которых он состоит) в xml-тег. К примеру если текущее слово под курсором — div, то оно будет преобразовано в <div></div>, если transform — то в <transform></transform> и т. д.

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

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

Портируемость

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

Vim работает на следующих операционных системах:

VimTouch

Для ОС Android, использующей сенсорный экран как основное устройство ввода, Дэвид Тао написал адаптированную версию vim — vim touch, в настоящее время распространяемую на условиях лицензии Apache[41][42][43][44]. Также существует вариант DroidVim.

Награды

С 2001 по 2004 годы Vim являлся победителем устраиваемого Linux Journal конкурса Readers' Choice Awards в категории «Любимый текстовый редактор». Он также получал награды Linuxworld Editors' Choice Award в 1999-м и Slashdot Beanie Award в 2000-м.

Neovim

Neovim (также произносится «нвим») — это форк Vim, ориентированный на улучшение функциональности и добавление поддержки языка программирования Lua. Основное отличие от оригинального Vim заключается в улучшенной архитектуре, поддержке плагинов и интеграции с современными инструментами разработки[45]. На сегодняшний день Neovim пользуется больше популярностью среди новых пользователей [46][47].

Neovim кардинально не отличается от Vim. Все базовые функции, которые предлагает Vim, присутствуют и в Neovim. Основные изменения затронули лишь улучшение архитектуры, поддержку асинхронности, а также интеграцию с Lua для более гибкой настройки и разработки плагинов. Почти все функции включая плагины Vim поддерживаются в Neovim, когда как в самом Vim многие функциональности Neovim не работают. [45]

Проект был запущен в 2014 году после отклонения от идеи(патча) поддержки мультизадачности в Vim[48]. В марте 2014 году Neovim получил финансовую поддержку со сборов краудфандинга и имел как минимум одного full-time разработчика[49][50].
Особенность Vim Neovim
Язык настройки Vimscript Lua
Асинхронность Нет Да
Поддержка плагинов Плагины через Vimscript Плагины через Lua и асинхронно
Интеграция с LSP Требует внешних плагинов Встроенная поддержка LSP
Поддержка GUI Есть, но ограничена Развитая поддержка GUI


Основные отличия включают в себе:
  • Lua вместо VimScript: В отличие от традиционного и малопопулярного Vimscript, Neovim использует Lua для настройки и написания плагинов. Это позволяет значительно повысить производительность и гибкость редактора, а также ускоряет его работу. Lua более современный и быстрый язык, чем Vimscript, что делает работу с Neovim более эффективной.
  • Архитектура: Neovim имеет улучшенную архитектуру, которая позволяет добавлять новые функции и возможности без изменений в ядре самого приложения. Это делает редактор более гибким и легко расширяемым, предоставляя разработчикам возможность внедрять новые фичи без «ломки» базовой функциональности.
  • Асинхронность: Одним из ключевых улучшений является поддержка асинхронности. В Neovim плагины могут работать в фоновом режиме, не блокируя основной процесс работы редактора. Это значительно ускоряет работу с большим количеством плагинов и делает работу с редактором более отзывчивой.


Галерея

Примечания
  1. Vim | freshmeat.net. Дата обращения: 21 мая 2009. Архивировано 6 июня 2009 года.
  2. Vim in non-English languages. Дата обращения: 4 февраля 2008. Архивировано 23 августа 2011 года.
  3. http://arstechnica.com/information-technology/2011/11/two-decades-of-productivity-vims-20th-anniversary/
  4. Vim 9.1 is available — 2024.
  5. Release v9.1.0 — 2024.
  6. Zapletal, Luk (18 апреля 2005), Interview: Bram Moolenaar, LinuxEXPRES: 21–22, Архивировано 22 июня 2018, Дата обращения: 5 февраля 2015
  7. English translation, Is VIM derivate of other VI clone or you started from scratch? I started with Stevie. This was a Vi clone for the Atari ST computer, ported to the Amiga. It had quite a lot of problems and could not do everything that Vi could, but since the source code was available I could fix that myself
  8. 1 2 McDonnell, Mark. Pro vim. — [Berkeley], 2014. — ISBN 978-1-4842-0250-0.
  9. Best Editor | Linux Journal. www.linuxjournal.com. Дата обращения: 20 апреля 2023. Архивировано 20 апреля 2023 года.
  10. Stack Overflow Developer Survey 2015 § IV. Text Editor. Stack Overflow. Дата обращения: 25 июля 2016. Архивировано 4 мая 2019 года.
  11. Stack Overflow Developer Survey 2019 Results. Stack Overflow § VII. Development Environments. Дата обращения: 20 июля 2019. Архивировано 7 марта 2020 года.
  12. 1 2 3 4 Thompson, Tim. Stevie (26 марта 2000). Дата обращения: 27 декабря 2010. Архивировано 4 января 2016 года.
  13. 1 2 Tim Thompson (28 июня 1987). A mini-vi for the ST. Newsgroupcomp.sys.atari.st. Архивировано 9 ноября 2012. Дата обращения: 27 декабря 2010.
  14. 1 2 Tony Andrews (6 июня 1988). v15i037: Stevie, an "aspiring" VI clone for Unix, OS/2, Amiga. Newsgroupcomp.sources.unix. Архивировано 9 ноября 2012. Дата обращения: 27 декабря 2010.
  15. Vim. intro.txt (англ.). Vim Help. Vim (20 января 2015). Дата обращения: 9 июля 2016. Архивировано 9 июля 2016 года.
  16. vim(1). die.net. Vim (11 апреля 2006). — «Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and G.R. (Fred) Walter. Although hardly any of the original code remains.» Дата обращения: 9 июля 2016. Архивировано 9 июля 2016 года.
  17. The continuing story of Vim. Дата обращения: 19 сентября 2011. Архивировано 18 апреля 2012 года.
  18. The history of Vim – Jovica Ilic (5 июня 2014). Дата обращения: 25 января 2020. Архивировано 25 января 2020 года.
  19. 1 2 VILE (Vi Like Emacs) – Frequently Asked Questions (FAQ). Дата обращения: 7 сентября 2019. Архивировано 31 августа 2019 года.
  20. 1 2 3 4 5 6 Moolenaar, Bram. Vim, an open-source text editor (15 января 2002). Дата обращения: 24 октября 2005. Архивировано 23 августа 2011 года.
  21. Textfiles.com. Дата обращения: 2 октября 2009. Архивировано 16 июля 2011 года.
  22. Filewatcher. Дата обращения: 26 февраля 2011. Архивировано из оригинала 11 июля 2011 года.
  23. Official Vim Manual, Version 6 summary (12 марта 2004). Дата обращения: 6 августа 2008. Архивировано 11 июня 2008 года.
  24. Vim Reference Manual, Version 7 (17 июля 2016). Дата обращения: 13 января 2019. Архивировано 13 января 2019 года.
  25. Google Groups. groups.google.com. Дата обращения: 11 августа 2008. Архивировано 6 ноября 2012 года.
  26. Google Discussiegroepen Архивировано 22 января 2011 года.. Groups.google.com. Retrieved on 2013-12-09.
  27. Bram Moolenaar. Vim 8.0 released! Дата обращения: 12 сентября 2016. Архивировано 22 января 2011 года.
  28. Bram Moolenaar. Vim 8.1 is released! Дата обращения: 18 мая 2018. Архивировано 17 мая 2018 года.
  29. OpenNews: Релиз текстового редактора Vim 8.1. www.opennet.ru. Дата обращения: 25 мая 2018. Архивировано 25 мая 2018 года.
  30. Bram Moolenaar. Vim 8.2 is released! Дата обращения: 13 декабря 2019. Архивировано 12 декабря 2019 года.
  31. Bram Moolenaar. Vim 9.0 is released! Дата обращения: 30 июня 2022. Архивировано 2 июля 2022 года.
  32. Christian Brabandt. Vim 9.1 is released! Дата обращения: 4 января 2024. Архивировано 2 января 2024 года.
  33. 1 2 3 Lamb, Linda. Learning the Vi Editor / Linda Lamb, Arnold Robbins. — O'Reilly Media, Inc., 1998. — P. 305. — ISBN 9781565924260.
  34. Moolenaar, Bram. Vim documentation: usr_01 (3 ноября 2010). Дата обращения: 28 августа 2019. Архивировано 29 июля 2020 года.
  35. Vim help files Архивировано 13 января 2019 года. at vimhelp.org
  36. Oualline, Steve. Vi IMproved (VIM). — New Riders Publishers, April 2001. — ISBN 0-7357-1001-5. Архивная копия от 8 апреля 2022 на Wayback Machine
  37. Moolenaar, Bram. Vim documentation: intro. vimdoc.sourceforge.net (8 декабря 2010). Дата обращения: 28 августа 2019. Архивировано 27 августа 2019 года.
  38. 1 2 CS107 The Vim Editor. web.stanford.edu. Дата обращения: 27 января 2023. Архивировано 27 января 2023 года.
  39. Семь привычек эффективного редактирования текстов. Дата обращения: 7 апреля 2010. Архивировано 2 октября 2011 года.
  40. Vim Scripts (англ.). Дата обращения: 4 января 2012. Архивировано 3 февраля 2012 года.
  41. Alex Young. Review: VimTouch for Android. usevim.com (19 сентября 2012). Дата обращения: 15 июня 2016. Архивировано из оригинала 13 июня 2016 года.
  42. Превращаем планшет в полноценное рабочее место. «Хакер» (26 ноября 2013). Дата обращения: 15 июня 2016. Архивировано 9 августа 2016 года.
  43. Виталий Сороко. PHP на Android // LinuxFormat. — 2016. — Май (№ 05 (209)). — С. 22.
  44. Проект Vim Touch на сайте GitHub
  45. 1 2 Vim_diff - Neovim docs
  46. Technology | 2024 Stack Overflow Developer Survey
  47. Technology | 2024 Stack Overflow Developer Survey
  48. Eddie Kovsky. Vim's 25th anniversary and the release of Vim 8. lwn.net (1 февраля 2017). Дата обращения: 13 июня 2023.
  49. Vimcasts.org blog post. Дата обращения: 18 февраля 2016. Архивировано 17 августа 2021 года.
  50. Neovim. Bountysource (23 марта 2014). Дата обращения: 20 марта 2021. Архивировано 5 января 2021 года.


Ссылки
Downgrade Counter