Есть ли случаи, когда vi - единственный вариант?
Есть ли сценарии, где vi это единственный вариант для создания, редактирования или изменения файла в среде Ubuntu?
Мой вопрос заключается в том, чтобы действительно знать, есть ли такой случай, когда я был бы вынужден использовать vi потому что это будет единственный вариант, доступный в конкретном случае в экосистеме Ubuntu.
Может ли существовать конкретный случай, когда у меня как-то не будет доступа к другим параметрам, таким как nano, pico или просто отправив информацию с помощью инструментов, таких как cat, sed, tee и больше?
Я бы предположил, что это скорее серверная или облачная сторона, поскольку на рабочем столе гораздо больше вариантов, но от любого, кто использует терминал, я часто спрашиваю:
Есть ли такой случай?
10 ответов
В экосистеме Ubuntu я не думаю, что этот случай может существовать, так как vi по крайней мере, будет VIM-крошечный, который уже является "реальным vim Далеко от "реального" vi ".
В контексте встроенных систем с ограниченными ресурсами, которые обычно не являются Ubuntu, вы можете просто иметь vi оказывается ссылка на busybox, И не осталось места. Затем, vi это единственный вариант.
Помимо этого, я думаю, что ситуации, когда vi Единственный вариант не очень распространен сегодня даже за пределами мира Linux.
Но могут легко возникнуть ситуации, когда vi это единственный вариант, который вы можете запланировать, единственный вариант, который наверняка будет существовать в какой-то ситуации в будущем, что, скорее всего, произойдет в переохлажденной серверной комнате клиента.
Представьте, что вам звонит клиент:
Клиент: Мне нужно исправить эту конфигурацию! Сейчас!! Я не знаю как, но я могу сказать вам, где находится файл конфигурации. Вы можете мне помочь!?!
Вы: Хорошо, на какой системе это работает?
Клиент: О, это на сервере foo, ааа... он работает... не могу вспомнить, что-то с "ix" в конце или mayeb с "ux"...
Нет проблем, теперь вы знаете, что будет vi!
Vi никогда не единственный вариант; вы всегда можете использовать ed вместо.
Ну, есть один случай, когда вам нужно vi редактор, давайте предположим:
- нет графического интерфейса
- ты на каком-то странном неизвестном
*nixсистема - ваш терминал выглядит так:

- таких парней хватит

Как видите, здесь нет цифровой клавиатуры. Со старым vi (и я имею в виду оригинальный традиционный vi не vim, vim.tiny, или же vim.basic Вы можете редактировать файл с этой клавиатуры. Без клавиш со стрелками? Да, когда вы находитесь в командном режиме, вы перемещались по файлу с помощью h, j, k и l, как профи. 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был бы мой единственный вариант.Внедрение в среду, которая только картируется
viчерезОбнуление всех остальных редакторов вручную (и отключение средств для их переустановки)
Вручную взломать оболочку, чтобы остановить известные редакторы, кроме
viзапускается.
Истинно-минимальная установка будет наиболее вероятной причиной, но в наши дни это происходит довольно редко. Некоторые VPS и компании облачного хостинга используют их (чтобы сэкономить место на диске так же, как и все остальное), но я бы сказал, что они определенно не являются нормой.
В случаях, когда вы не можете установить emacs, или в тех случаях, когда вам нужно изменить файл конфигурации, чтобы позволить вам установить emacs.:-п
Многие (большинство?) Установки Busy-Box имеют только vi,
Это не специфично для Ubuntu, но верно для многих встроенных устройств.
Вот случай, когда vim - единственный вариант в экосистеме Ubuntu: Ubuntu Snappy не поставляется с любым текстовым редактором, кроме vim-tiny, Возможно, в будущем он будет, но не по состоянию на 2015-16 гг. Если вы собираетесь использовать Ubuntu Snappy через последовательную консоль или ssh, лучше быть готовым к использованию vim,
Всегда есть кошка, голова, хвост... поэтому я не уверен, что есть система, в которой у вас нет альтернативы, но можно найти системы, в которых нет лучшей альтернативы, даже если вы предпочитаете emacs.
Моим примером была система, которую я однажды администрировал, которая была настолько медленной (или линия была медленной и с потерями), что при навигации с помощью клавиш курсора она часто внезапно переключалась на вставку и добавление мусора в отредактированный файл и использование HJKL для перемещения был единственный надежный вариант.
Однажды я попал в ситуацию, когда работал только линейный режим vi. Что-то, что связано с тем, что вы действительно испортили определения терминалов. В основном только vi в линейном режиме (это ведет себя как обычный vi, если вы притворяетесь, что у вас есть 1-строчный терминал), ex и ed собирались работать, потому что единственное определение терминала было "немым".