Существуют ли сценарии, где vi является единственным вариантом для создания, редактирования или изменения файла в среде Ubuntu?
Мой вопрос в основном состоит в том, чтобы действительно знать, есть ли такой случай, когда я бы быть вынужденным использовать vi, потому что это будет единственный вариант, доступный в конкретном случае в экосистеме Ubuntu.
Может ли быть конкретный случай, когда я каким-то образом не имел бы доступа к другим параметрам, например nano, pico, или просто отправлял информацию с помощью таких инструментов, как cat, sed, tee и больше?
Я бы предположил, что это больше похоже на сервер или облако, поскольку на Рабочем столе есть много других опций, но от кого-либо, кто пользуется терминалом, я спрашиваю:
Есть ли такой случай?
Vi никогда не является единственным вариантом; вы всегда можете использовать ed.
Ну, есть один случай, когда вам нужен редактор vi, допустим:
нет графического интерфейса, который вы используете в какой-то странной неизвестной системе *nix, ваш терминал выглядит так:нет графического интерфейса
Как вы можете см. нет цифровой клавиатуры. Со старым vi (и я имею в виду оригинальные традиционные vi, а не vim, vim.tiny или vim.basic), вы можете редактировать файл с помощью этой клавиатуры. Без клавиш со стрелками? Да, когда вы находитесь в командном режиме, вы перемещаетесь через файл с h, j, k и l, как pro. h остался, j упал, k поднялся, и я был прав.
Дело в том, что во многих дистрибутивах редакторы, такие как nano и pico, просто не являются стандартными, а другие пакеты, а именно vim-tiny. См. Здесь список пакетов ubuntu-minimal, vim-tiny - единственный редактор. Согласно этому ответу, это похоже на сервер Ubuntu. Я знаю, что это относится и к базовому Debian, Fedora.
Сказанное, учитывая, что если у вас nano в вашей системе, я еще не видел случая, когда вы должны были бы вместо этого используйте vi, но, играя с ответом @ Volker, если вы работаете на клиента и не имеете права доступа root? apt-get install nano не собирается делать вам много хорошего (если он даже имеет доступ к внешнему интернету!).
Существует ряд случаев, когда vi (и тем самым я имею в виду vim.tiny, потому что это то, что мы отправляем) может быть единственным интерактивным редактором. Если мы игнорируем бабочки и космические лучи, это похоже на наиболее вероятные случаи, когда это может произойти:
Вы используете мета-пакет базы ubuntu-minimal. Это зависит от vim-tiny, но нет других редакторов. В настоящее время я не могу найти способ установить Ubuntu без задачи standard^, но вы можете удалить его после установки с помощью:sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print $2}')
У меня есть личный опыт, когда мне передали системный образ без установленной задачи standard^. Если бы у меня не было доступа к сети vi, это был бы мой единственный вариант. Chrooting в среду, которая только сопоставлена vi с помощью ручного запуска всех других редакторов (и отключения средств для их переустановки). Ручное нарушение оболочки для остановки известных редакторов, за исключением запуска vi. Истинная минимальная установка будет наиболее вероятной причиной, но в наши дни это довольно редко. Некоторые VPS и облачные хостинговые компании используют их (чтобы сэкономить дисковое пространство, как и все остальное), но я бы предположил, что они определенно не являются нормой.
В случаях, когда вы не можете установить emacs или в тех случаях, когда вам нужно изменить файл конфигурации, чтобы вы могли установить emacs. :-p
У многих (большинство?) установок Busy-Box только vi.
Это не Ubuntu, но это верно для многих встроенных устройств.
Всегда есть кошка, голова, хвост ... поэтому я не уверен, что есть система, в которой у вас нет альтернативы, но можно найти системы, где нет лучшей альтернативы, даже если вы предпочитаете emacs.
Моим примером была система, которую я когда-то администрировал, которая была либо слишком медленной (или линия была медленной, и потерянной), что при навигации с помощью клавиш курсора он часто внезапно переключался на вставку и вносил мусор в отредактированный файл, и использование HJKL для движения было единственным надежным вариантом.
Вот пример, когда vim является единственным вариантом в экосистеме Ubuntu: Ubuntu Snappy не поставляется с каким-либо текстовым редактором, кроме vim-tiny. Возможно, в будущем будет один, но не с 2015 по 16. Если вы собираетесь использовать Ubuntu Snappy через последовательную консоль или ssh, лучше быть готовым использовать vim.
Я однажды попал в ситуацию, когда работала только lin-версия vi. Что-то связано с тем, что действительно испортили терминальные определения. В основном только vi в linemode (это ведет себя как обычный vi, если вы притворяетесь, что у вас есть 1-строчный терминал), ex и ed будут работать, потому что единственное определение терминала было «глупым».