Почему люди по-прежнему вводят в командной строке «vi», а не «vim»? [закрыто]

Я постоянно вижу учебные пособия, видео на YouTube, коллег по работе и даже книги, в которых говорится, что вы можете редактировать файлы с помощью редактора vi.

Меня больше всего беспокоит то, что vi, как и в оригинальном приложении середины 70-х годов, больше даже не упаковывается с дистрибутивами Linux, и так было уже несколько лет.

Это вызывает несколько вопросов:

  • Знают ли люди, которые пишут эти книги / блоги / что-либо еще, что Vi на самом деле не является частью современных дистрибутивов Linux?
  • Набирают ли люди vi на консоль вместо vim на самом деле пытается открыть Vi вместо Vim? Почему? В чем будет преимущество использования Vi вместо Vim?

Все это пришло мне в голову сейчас, когда я читаю учебник по Ansible, и один из «советов» такой:

Вы можете ввести vi в терминале, чтобы открыть редактор Vi

Это руководство относится к 2018 году.

Примечание: я знаю, что когда вы набираете vi , он фактически запускает vim.tiny во многих дистрибутивах.

2
задан 26 August 2019 в 09:24

2 ответа

Недавно установленная система Ubuntu имеет a vi управляйте и не имейте a vim команда. В этой конфигурации, vi символьная ссылка, которая в конечном счете разрешает vim.tiny, поскольку Вы упомянули. Однако, если один из других пакетов, который обеспечивает двоичный файл Vim такой как vim.nox или vim.gtk3 (если vim-nox и vim-gtk3 пакеты), установлен, затем vi, а также vim, будут символьные ссылки, которые в конечном счете разрешают к этому более полно показанный двоичный файл. Можно реконфигурировать это, но люди редко делают. Выполнение vi таким образом довольно надежный способ открыть подобное редактору vi.

Что касается того, почему люди иногда называют это vi, Вы правы, что это несколько неточно. Часть этого является типографской. Это - a vi команда, в конце концов. Часть его - то, что существует не обязательно лучшее имя. Подобное редактору vi, которое обеспечивает vi управляйте не должен быть Vim; существуют различные другие vi-редакторы-стилей, которых можно было бы настроить для этого даже в Ubuntu, для не ровного начала работы в других системах. (Вы задали этот вопрос на, Спрашивает Ubuntu, таким образом, я предполагаю, что Вы интересуетесь этим главным образом в пределах Ubuntu.)

Но часть его то, что vi команда в Ubuntu является одной из многочисленных команд, которые имеют традиционное имя, но являются действительно другой программой, более правильно известной некоторым другим именем. Например, люди иногда звонят /bin/sh "Оболочка Bourne". Это не корректно в большинстве подобных Unix систем в эти дни, и при этом это никогда не корректно на Ubuntu или других системах GNU/Linux. При разговоре обычно - и составлении, как это обеспечивается различными оболочками в различных Ose и что администратор может изменить то, что оболочка обеспечивает ему - было бы лучше сказать "совместимую с POSIX оболочку", или, возможно, еще лучше, "окружите, это главным образом пытается выполнить требования POSIX для sh, по крайней мере, когда это видит, что это называют sh."

Так же, как Оболочка Bourne не была совместима с более старой оболочкой Thompson и все же была названа sh, и так же, как реализации оболочки POSIX не совместимы с Оболочкой Bourne, все же названы sh (или, в любом случае, часто пробегаются названная символьная ссылка sh), много систем включая Ubuntu поставляют команду, которая не является исходным редактором vi, все же назван vi. Вы правы, что это не действительно vi - если то, что каждый имеет в виду этим, не является любым редактором, может быть выполнен путем ввода vi команда, которая является тем, что часто имеют в виду люди.

Кстати, поскольку Вы, вероятно, знаете, vim.tiny действительно ведет себя более традиционным способом - и он имеет более традиционно ограниченный набор функций - чем команды как vim.nox. Таким образом, это находится иначе в который vi команда в системе Ubuntu, которой не установили дополнительные связанные с Vim пакеты, похожа на vi.

10
ответ дан 2 December 2019 в 01:25

Две причины

  1. Поскольку vi указан стандартом POSIX и будет доступен на всем POSIX совместимые системы включая Ubuntu, тогда как энергия является версией GNU. Вы не должны фокусироваться на vi по сравнению с энергией, вниманием на последовательное поведение и функциональность. См. https://pubs.opengroup.org/onlinepubs/009695399/utilities/vi.html.

  2. Там существует больше чем один клон vi.

3
ответ дан 2 December 2019 в 01:25

Другие вопросы по тегам:

Похожие вопросы: