Vim, работающий в эмулятор терминала | |
Исходный автор (ы) | Брэм Мооленаар |
---|---|
Первоначальный выпуск | 2 ноября 1991 г.. (28 лет назад) (1991-11-02) |
Стабильный выпуск | 8.2.0000 (13 декабря 2019; 10 месяцев назад (2019-12-13)) |
Репозиторий | |
Написано на | C, Сценарий Vim |
Операционная система | Unix, Linux, Windows NT, MS-DOS, macOS, iOS, Android, Haiku, AmigaOS, MorphOS |
Тип | |
Лицензия | Бесплатно программное обеспечение (Лицензия Vim ), благотворительное ПО |
Веб-сайт | www.vim.org |
Vim (; сокращение от Vi IMproved ) является клоном с дополнениями программы Билла Джоя vi для Unix. Автор Vim, Брэм Мооленаар, основал его на исходном коде для переноса на Amiga и выпустил версию для общественности в 1991 году. разработан для использования как из интерфейса командной строки , так и в качестве отдельного приложения в графическом пользовательском интерфейсе . Vim - это бесплатное программное обеспечение с открытым исходным кодом и выпущено по лицензии, которая включает некоторые пункты благотворительности, побуждающие пользователей, которым нравится программное обеспечение, подумать о пожертвовании детям в Уганде. Лицензия совместима с Стандартной общественной лицензией GNU за счет специального пункта, разрешающего распространение измененных копий «под GNU GPL версии 2 или любой более поздней версии».
С момента выпуска для Amiga, кроссплатформенная разработка сделала его доступным на многих других системах. В 2006 году он был признан самым популярным редактором среди читателей Linux Journal ; В 2015 году опрос разработчиков Stack Overflow показал, что он стал третьим по популярности текстовым редактором и пятым по популярности средой разработки в 2019 году.
Предшественник Vim, был создан Тимом Томпсоном для Atari ST в 1987 году и доработан Тони Эндрюсом и GR (Фред) Уолтер.
Основываясь на своей работе над Стиви, Брэм Мооленаар начал работу над Vim для компьютера Amiga в 1988 году, выпустив первый общедоступный выпуск (Vim v1.14) в 1991 году.
Во время первого выпуска название «Vim» было аббревиатурой от «Vi IMitation», но в конце 1993 года это было изменено на «Vi IMproved».
История выпуска | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Как и vi, интерфейс Vim основан не на меню или значках, а на командах, данных в текстовом пользовательском интерфейсе ; его режим GUI, gVim, добавляет меню и панели инструментов для часто используемых команд, но полная функциональность по-прежнему выражается через режим командной строки. Vi (и, соответственно, Vim) имеет тенденцию позволять машинистке держать пальцы на домашней строке, что может быть преимуществом для слепой машинистки.
Vim имеет встроенный учебник для начинающих под названием vimtutor. Обычно он устанавливается вместе с Vim, но существует как отдельный исполняемый файл и может быть запущен с помощью команды оболочки. Существует также руководство пользователя Vim , в котором подробно описаны функции Vim, и FAQ. Это руководство можно прочитать из Vim или найти в Интернете.
Vim также имеет встроенную справку (с помощью команды : help
), которая позволяет пользователям запрашивать и перемещаться по командам и особенности.
Vim имеет 12 различных режимов редактирования, 6 из которых являются вариантами 6 основных режимов. Основные режимы:
insertmode
.:
) и некоторые другие конкретные буквы, соответствующие различным действиям (включая поиск по образцу и команду фильтрации), активируют этот режим.Vim легко настраивается и расширяется, что делает его привлекательным инструментом для пользователей, которым требуется большой контроль и гибкость в среде редактирования текста. Ввод текста облегчается благодаря множеству функций, предназначенных для повышения эффективности клавиатуры. Пользователи могут выполнять сложные команды с «назначениями клавиш», которые можно настраивать и расширять. Функция «записи» позволяет создавать макросы для автоматизации последовательностей нажатий клавиш и вызова внутренних или определяемых пользователем функций и сопоставлений. Аббревиатуры, аналогичные макросам и сопоставлениям клавиш, облегчают расширение коротких строк текста на более длинные, а также могут использоваться для исправления ошибок. Vim также предлагает "простой" режим для пользователей, которым требуется более простое решение для редактирования текста.
Доступно множество плагинов, которые расширяют или добавляют новые функции в Vim, например, линтеры., интеграция с Git, отображение цветов в CSS. Эти сложные сценарии обычно пишутся на внутреннем языке сценариев Vim, vimscript (также известном как VimL), но могут быть написаны и на других языках.
Vim редактирует JavaScript с установленным плагином GitGutter: плюсы слева показывают новые строки (согласно информации из Git).Существуют проекты, объединяющие сложные скрипты и настройки и направленные на превращение Vim в инструмент для определенного задача или добавление изюминки в его поведение. Примеры включают Cream, который заставляет Vim вести себя как редактор типа "щелкни и набирать", или VimOutliner, который предоставляет удобную структуру для пользователей Unix-подобных систем.
Vim имеет режим совместимости с vi, но когда этот режим не используется, Vim имеет много улучшений по сравнению с vi. Однако даже в режиме совместимости Vim не полностью совместим с vi, как определено в Single Unix Specification и POSIX (например, Vim не поддерживает открытый режим vi, только визуальный режим). Разработчики Vim заявляют, что он «очень совместим с Vi».
Файловый менеджер внутри vimНекоторые из улучшений Vim включают завершение, сравнение и слияние файлов (известных как vimdiff), комплексная интегрированная справочная система, расширенные регулярные выражения, языки сценариев (как собственные, так и через альтернативные интерпретаторы сценариев, такие как Perl, Python, Ruby, Tcl и т. Д.), Включая поддержку плагинов, графический пользовательский интерфейс (известный как gvim), ограниченные интегрированные функции среды разработки, -подобные функции, мышь взаимодействие (как с графическим интерфейсом, так и без него), редактирование сжатых или заархивированных файлов в gzip, bzip2, zip и tar формат и файлы через сетевые протоколы, такие как SSH, FTP и HTTP, сохранение состояния сеанса, проверка орфографии, разделение ( горизонтальные и вертикальные) и окна с вкладками, Unicode и другая многоязычная поддержка, sy выделение ntax, межсессионная команда, поиск и положение курсора история, многоуровневая и ветвящаяся история отмены / повтора, которая может сохраняться в сеансах редактирования, и визуальный режим.
: команда версии отображает флаги компиляции (поддерживаемые функции)сценарий Vim (также называемый vimscript или VimL ) - это язык сценариев, встроенный в Vim. Основываясь на языке редактора исходного редактора vi, ранние версии Vim добавляли команды для потока управления и определения функций. Начиная с версии 7, сценарий Vim также поддерживает более сложные типы данных, такие как списки и словари и (простая форма) объектно-ориентированное программирование. Встроенные функции, такие как map ()
и filter ()
, позволяют использовать базовую форму функционального программирования, а сценарий Vim имеет лямбда начиная с версии 8.0. Сценарий Vim в основном написан в стиле императивного программирования.
Макросы Vim могут содержать последовательность команд нормального режима, но также могут вызывать команды ex или функции, написанные в сценарии Vim для более сложных задач.. Почти все расширения (называемые плагинами или, чаще всего, скриптами) основных функций Vim написаны на скрипте Vim, но плагины также могут использовать другие языки, такие как Perl, Python, Lua., Ruby, Tcl или Racket. Эти плагины можно установить вручную или через диспетчер плагинов, например Vundle, Pathogen или Vim-Plug.
Файлы сценария Vim, как и другой код, хранятся в виде простого текста, а расширение имени файла обычно .vim
. Заметным исключением является файл конфигурации Vim, .vimrc
.
«Это программа Hello World в сценарии Vim. Echo« Привет, мир! »« Это простой цикл while в сценарии Vim.. let i = 1, а i < 5 echo "count is" i let i += 1 endwhile unlet i
В то время как vi изначально был доступен только в операционных системах Unix, Vim был перенесен во многие операционные системы, включая AmigaOS (исходная целевая платформа), Atari MiNT, BeOS, DOS, Windows начиная с Windows NT 3.1, OS / 2, OS / 390, MorphOS, OpenVMS, QNX, RISC OS, Linux, BSD и Classic Mac OS. Кроме того, Vim поставляется с каждой копией Apple macOS.
. Независимые порты Vim доступны как для Android, так и iOS.
Neovim - это форк (с дополнениями) Vim, который стремится улучшить расширяемость и удобство обслуживания Vim. Neovim использует тот же синтаксис конфигурации, что и Vim; в результате один и тот же файл конфигурации может использоваться с обоими редакторами, хотя есть небольшие различия между точными параметрами, используемыми между ними. Если дополнительные функции Neovim не используются, Neovim совместим почти со всеми функциями Vim.
Проект Neovim был запущен в 2014 году, и некоторые члены сообщества Vim предложили раннюю поддержку усилий по высокоуровневому рефакторингу для предоставить лучшие сценарии, плагины и интеграцию с современными графическими интерфейсами. Это бесплатное программное обеспечение, и его исходный код доступен на GitHub.
23 марта 2014 года Neovim провел успешный сбор средств, поддерживая как минимум одного разработчика, работающего полный рабочий день. Несколько интерфейсов находятся в стадии разработки, в которых используются возможности Neovim.
Редактор Neovim доступен в PPA Ubuntu и в нескольких других менеджерах пакетов, что позволяет устанавливать его в различных операционных системах.
Wikibook Изучение редактора vi имеет страницу по теме: Vim |
На Викискладе есть материалы, связанные с Vim. |