Vim (текстовый редактор)

редактировать
Улучшенная версия текстового редактора Vi, ориентированного на клавиатуру
Vim
Vimlogo.svg
Vim, работающий в эмуляторе терминала 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 году.

Содержание
  • 1 История
  • 2 Интерфейс
    • 2.1 Режимы
  • 3 Настройка
  • 4 Функции и улучшения по сравнению с vi
  • 5 Сценарий Vim
    • 5.1 Примеры
  • 6 Доступность
  • 7 Neovim
  • 8 См. Также
  • 9 Ссылки
  • 10 Внешние ссылки
История

Предшественник Vim, был создан Тимом Томпсоном для Atari ST в 1987 году и доработан Тони Эндрюсом и GR (Фред) Уолтер.

Основываясь на своей работе над Стиви, Брэм Мооленаар начал работу над Vim для компьютера Amiga в 1988 году, выпустив первый общедоступный выпуск (Vim v1.14) в 1991 году.

Во время первого выпуска название «Vim» было аббревиатурой от «Vi IMitation», но в конце 1993 года это было изменено на «Vi IMproved».

История выпуска
ДатаВерсияИзменения и дополнения
Июнь 1987 г.Н / ДТим Томпсон выпускает Стиви (редактор ST для энтузиастов VI), ограниченный клон vi для Atari ST, размещение источника на Usenet.
июнь 1988 г.н / дТони Эндрюс улучшает Stevie и портирует его на Unix и OS / 2, выпустив версию 3.10 на Usenet.
19881.0Брэм Мооленаар создает Vi IMitation для Amiga, основанный на Stevie, никогда не выпускался публично
2 ноября 1991 г.1.14Первый публичный выпуск для Amiga на Фред Фиш диск № 591
19921.22P ort в 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.2GTK2 и поддержка libgnome2, поддержка арабского языка,: команда try, второстепенные функции, исправления ошибок
7 июня 2004 г.6.3Исправления ошибок, обновления переводов, улучшения пометок
15 октября, 20056.4Исправлены ошибки, обновления для поддержки Perl, Python и Ruby
7 мая 2006 г.7.0Проверка орфографии, завершение кода, страницы вкладок (несколько окон просмотра / макетов окон), выделение текущей строки и столбца, отмена ветвей и многое другое
12 мая 2007 г.7.1Исправления ошибок, новый синтаксис и файлы времени выполнения и т. Д.
9 августа 2008 г.7.2Поддержка чисел с плавающей запятой в скриптах, отредактированный код отображения экрана, исправления ошибок, новые файлы синтаксиса и т..
15 августа 2010 г.7.3Поддержка Lua, поддержка Python3, Blo wfish шифрование, постоянная отмена / повтор
10 августа 2013 г.7.4Новый, более быстрый механизм регулярных выражений.
12 сентября 2016 г.8.0Поддержка асинхронного ввода-вывода, задания, лямбда-выражения и т. Д.
18 мая 2018 г.8,1Поддержка окон терминала и подключаемого модуля терминала gdb.
13 декабря 2019 г.8.2Всплывающие окна, свойства текста.
Интерфейс
Графический Vim (gVim) в GTK + 2. Код вверху (Go ), открытые файлы, регистры («менеджер буфера обмена» и история макросов)

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

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

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

Поиск (grep) внутри Vim среди файлов на диске, без плагинов

Режимы

Vim имеет 12 различных режимов редактирования, 6 из которых являются вариантами 6 основных режимов. Основные режимы:

  • Обычный режим - используется для команд редактора. Это также режим по умолчанию, если не указана опция insertmode.
  • Визуальный режим - аналогичен обычному режиму, но используется для выделения областей текста. Обычные команды выполняются в выделенной области, которую, например, можно использовать для перемещения или редактирования выделения.
  • Режим выбора - работает аналогично визуальному режиму. Однако, если вводится печатаемый символ, возврат каретки или новая строка (или перевод строки), Vim вставляет символ и запускает режим вставки.
  • Режим вставки - аналогично редактированию в большинстве современных редакторов. В режиме вставки буферы могут быть изменены с помощью вставленного текста.
  • Командная строка или Cmdline режим - поддерживает однострочный ввод в нижней части окна Vim. Обычные команды (начинающиеся с :) и некоторые другие конкретные буквы, соответствующие различным действиям (включая поиск по образцу и команду фильтрации), активируют этот режим.
  • Exрежим - аналогично режиму Cmdline, он занимает одну строковый ввод в нижней части окна. Однако в режиме Cmdline ввод команды выходит из режима при выполнении команды. Ввод команды в режиме Ex не приводит к изменению режима.
История команд ниже: мы можем редактировать каждую команду и / или запускать ее снова
Настройка

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

Доступно множество плагинов, которые расширяют или добавляют новые функции в Vim, например, линтеры., интеграция с Git, отображение цветов в CSS. Эти сложные сценарии обычно пишутся на внутреннем языке сценариев Vim, vimscript (также известном как VimL), но могут быть написаны и на других языках.

Vim редактирует JavaScript с установленным плагином GitGutter: плюсы слева показывают новые строки (согласно информации из Git). Vim редактирует JavaScript с установленным плагином GitGutter: плюсы слева показывают новые строки (согласно информации из Git).

Существуют проекты, объединяющие сложные скрипты и настройки и направленные на превращение Vim в инструмент для определенного задача или добавление изюминки в его поведение. Примеры включают Cream, который заставляет Vim вести себя как редактор типа "щелкни и набирать", или VimOutliner, который предоставляет удобную структуру для пользователей Unix-подобных систем.

Возможности и улучшения по сравнению с vi

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

сценарий 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
. Neovim Скриншот Neovim Neovim с плагином строки состояния

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

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

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

Редактор Neovim доступен в PPA Ubuntu и в нескольких других менеджерах пакетов, что позволяет устанавливать его в различных операционных системах.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • значок Портал компьютерного программирования
Ссылки
Внешние ссылки
Wikibook Изучение редактора vi имеет страницу по теме: Vim
На Викискладе есть материалы, связанные с Vim.
Последняя правка сделана 2021-06-18 13:52:57
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте