В чем разница между Vi и Vim?


178

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


Ответы:


169

Функционально vim - почти правильный надмножество vi . Поэтому все, что есть в vi, доступно в vim.

Vim добавляет на эти функции. Вот некоторые из расширенных возможностей vim:

  • Vim был перенесен на гораздо более широкий спектр ОС, чем vi.
  • Vim включает поддержку (подсветку синтаксиса, свертывание кода и т. Д.) Для нескольких популярных языков программирования (C / C ++, Python, Perl, shell и т. Д.).
  • Vim интегрируется с cscope.
  • Vim может использоваться для редактирования файлов с использованием сетевых протоколов, таких как SSH и HTTP.
  • Vim включает многоуровневую отмену / повтор.
  • Vim позволяет разделить экран для редактирования нескольких файлов.
  • Vim может редактировать файлы в сжатом архиве (gzip, zip, tar и т. Д.).
  • Vim включает встроенный diff для сравнения файлов (vimdiff).
  • Vim включает поддержку плагинов и более точный контроль над файлами конфигурации и запуска.
  • Vim может быть написан с помощью vimscript или с помощью внешнего языка сценариев (например, python, perl, shell).

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

Источник: Vim.Org , Vim on Wikpedia .

Надеюсь, это поможет! :)


65

«vi» - это текстовый редактор с первых дней существования Unix. Он стал довольно популярным и попал в спецификацию Single Unix (SUS) и POSIX, но не был в свободном доступе до 2002 года.

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

В Ubuntu Vim является единственным vi-подобным редактором, установленным по умолчанию, и viфактически запускает Vim по умолчанию.

Другие популярные vi-подобные редакторы, доступные в Ubuntu, например, nviи elvis.


4
In Ubuntu Vim is the only vi-like editor installed by default- Xubuntu здесь: vim: command not found. Только viдоступно.
phil294

7
@Blauhirn Честно говоря, технически Xubuntu - это не Ubuntu.
Капитан Мэн

8
@Blauhirn И это viработает vim.tiny.
Муру

2
+1 за ответ на вопрос, почему vi открывает вместо vim. это то, что на самом деле просит ОП.
MycrofD

3

vi editor - самый популярный текстовый редактор в Linux. Можно сказать, что он имеет простой черно-белый экран, т. Е. Если вы набираете какую-либо команду, подсветка кода отсутствует, где, поскольку vim является улучшенной версией VI, она также имеет такие же функции, как vi, но также имеет подсветку кода.

Оба имеют эти 4 основных режима:

  1. режим записи
  2. командный режим
  3. Визуальный режим
  4. режим выхода

3
Я вполне уверен, что у оригинального vi нет визуального режима Vim.
Муру

1

Между ними действительно есть большая разница. Я использую и nvi и vim ежедневно. Ни один из них не идеален, но они все еще лучше, чем что-либо еще там.

У Вима больше всего. В дополнение к подсветке синтаксиса (при компиляции с поддержкой для него) он выполняет автоматическое преобразование наборов символов, окончаний строк и тому подобное. Он имеет несколько способов нумерации строк, что действительно удобно. Vim, безусловно, многое говорит об этом.

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

Vim (хотя, безусловно, и IMproved, как он утверждает) также является раздутой, странной и непоследовательной смесью сломанного vi и немодального редактора. :П

Я все еще люблю это, все же. И вы можете исправить это, настроив свою конфигурацию; D


11
Re : «Конечно , это удобно в первую , что вы можете [...] двигаться с клавишами курсора в режиме вставки» Это общая цель клавиш управления курсором в наше время! Мы больше не в 80-х, и нажатие стрелки вниз должно сместить курсор вниз, а не выводить некоторые ^Bрекламные символы на экран и давать звуковой сигнал.
PerlDuck

0

Часто задаваемые вопросы по Vim имеют хорошо отформатированный список: https://vimhelp.org/vim_faq.txt.html#faq-1.4

Выдержка из FAQ:

  • Многоуровневая отмена
  • Вкладки, несколько окон и буферов
  • Гибкий режим вставки (можно использовать клавиши со стрелками в режиме вставки)
  • макрос
  • Визуальный режим (визуальный выбор фрагментов текста)
  • Блочные операторы
  • Интерактивная справочная система
  • Редактирование и история командной строки
  • Завершение командной строки (завершение табуляции)
  • Горизонтальная прокрутка (длинные строки)
  • Уникод и улучшения интернационализации.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.