3

Я думаю, что я прав, говоря, что RedHat и другие дистрибутивы предоставляют как vi, так и Vim.

Кто-нибудь знает, что стоит за предоставлением обоих, когда предположительно, если Vim предоставлен, он покрывает функциональность vi?

ETA: Это не символическая ссылка, это разные двоичные файлы.

$ ls -lh /bin/vi
-rwxr-xr-x 1 root root 747K Jul  7  2012 /bin/vi
$ ls -lh /usr/bin/vim
-rwxr-xr-x 1 root root 1.9M Jul  7  2012 /usr/bin/vim

2 ответа2

2

RedHat и его варианты / клоны имеют тенденцию предоставлять / bin / vi, который, по сути, Vim скомпилирован с минимальным набором функций и меньшим количеством библиотечных зависимостей, поэтому он с большей вероятностью сможет работать даже с поврежденной файловой системой. Он также меньше, чем "нормальная" или "огромная" версия Vim, которая когда-то рассматривалась, даже если сейчас она не имеет большого значения.

По сути, это "запасной вариант" для пользователей и администраторов, которым нужен текстовый редактор и которые хотя бы минимально знакомы с vi. Для тех, кто хочет иметь более мощный редактор, им обычно приходится явно устанавливать «vim-extended» или что-то еще, что в их дистрибутиве предусмотрен "полнофункциональный" Vim.

Я видел даже более маленькие версии vi или vi-подобных редакторов, которые не являются урезанным Vim, который используют некоторые компактные дистрибутивы. Busybox интегрирует один.

0

Нет, вы не правы.

Redhat и все остальные дистрибутивы предоставляют команды и vi и vim , но они не являются отдельными Исполняемые: vi просто символическая для vim Это происходит в каждой системе UNIXy, потому что команда vi является частью стандарта и, как таковая, должна предоставляться системой, если она заявляет, что она совместима с UNIX.

Предположительно, в какой-то момент большинство дистрибутивов решили использовать vim вместо оригинального vi (по неизвестным мне причинам: совместимость архитектуры? современные функции? другие?). Вот почему вы получаете и vi и vim .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .