Сегодня я решил попробовать Vi вместо Vim, я хотел посмотреть, насколько он отличается. Я не заметил особых различий, самое большое, что я заметил, было то, как Vi не сказал, -- INSERT --
когда я перешел в режим вставки, и были некоторые незначительные различия в интерфейсе.
Это заставило меня задуматься, каковы самые большие различия между Vi и Vim?
original-vi
Loovjo
источник
источник
Ответы:
На самом деле в vim есть команда справки, которая расскажет вам о различиях:
:help vi_diff
С сайта Vim самые большие из них:
источник
В Vim есть много функций, которых нет у Vi, даже функции, которые явно не являются «продвинутыми».
На практике это означает, что если вы привыкли к Vi, вы, вероятно, столкнетесь с очень небольшим количеством различий, если начнете использовать Vim (или какой-либо другой клон Vi), но если вы привыкли к Vim и если ваши «рефлексы» включают такие функции, как подсветка в визуальном режиме, любое действие клавиши, которое начинается с «g» или «z», любое действие текста с «i» или «a» [например, «галка», чтобы удалить слово под курсором], навигация с помощью клавиш со стрелками в режиме вставки и т. д., вы обнаружите, что они не работают в Vi.
Существует также вопрос о том, что именно вы использовали, когда говорите, что «пробовали Vi». Во многих системах «vi» фактически запускает Vim в режиме, в котором применяются некоторые из этих различий (режим показа по умолчанию, как вы заметили, клавиши со стрелками не работают в режиме вставки), а другие - нет (работают визуальный режим и клавиши g / z. ), а некоторые функции зависят от параметра времени компиляции, который иногда отключается в «крошечном Vim», который используется для этого (текстовые объекты, такие как «w» слово, являются одним из них). Вы не получите их, если вы запустите реальный Vi или если «vi» - это какой-то другой клон с меньшим количеством функций или отличных от Vim, таких как nvi или VILE.
И, с другой стороны, хотя «крошечный Vim в режиме Vi», очевидно, не имеет никаких функций, которых нет у полного Vim, есть несколько особенностей подлинного оригинального Vi, которых vim не хватает. Это документировано в
:help vi-differences
.источник
Большинство сравнений дают больше функциональности vim, чем vi, но есть одно исключение. В vi был "открытый" режим, и у vim такого режима нет.
Режим открытия - это однострочный режим, который использовался в те времена, когда терминалы не имели электронных дисплеев, т. Е. Телетайпов, принтеров и т. П., А также с дисплеями, в которых курсор остается только внизу.
Я знаю, что есть документация, в которой говорится, что vim имитирует открытый режим, но мой опыт показывает, что это не так, потому что я видел, как он использовал vi с моими собственными глазами, и я никогда не видел, чтобы vim делал это. Кажется, что vim просто использует
open
команду, чтобы просто открыть и отредактировать файл в визуальном режиме. Я верю, что в официальной документации vim говорится, что она не поддерживает открытый режим.источник
^R
, но не дает никакой другой помощи.:open some/file
возвращаетсяopen: No such command from open/visual
.Q
чтобы войти в режим ex, затемopen
.z
чтобы показать контекст текущей строки, когда вы находитесь в открытом режиме. Чтобы отступить,Q
тогдаvi
.Я думаю, что очень трудно провести сравнение из-за изменений в vi, произошедших с течением времени.
Когда я учился в колледже, я использовал простой ванильный vi на немом терминале (а также на эмуляторе терминала на Mac), который подключался к мэйнфреймам с помощью System V. Вы даже не можете найти это больше.
Но я даже не уверен, что это правда vi. В то время было сделано много клонов и портов, потому что в то время vi не был открытым исходным кодом. И когда производители делали клоны, они добавляли функции, которых не было в vi. История немного запутанная. Вы можете прочитать это в Википедии и в других местах.
Поэтому, если вы не использовали определенных поставщиков / оборудование, вы использовали не vi, а что-то вроде vi.
Но я вспоминаю, что vi (или клон, который я использовал) был очень минималистичным по своему интерфейсу (без цветов, без меток INSERT, без множественных отмен и т. Д.), Но в то же время могущественным для достижения цели. Очень практично
источник
Часто задаваемые вопросы по Vim имеют хорошо отформатированный список: https://vimhelp.org/vim_faq.txt.html#faq-1.4
Выдержка из FAQ:
источник