Существуют ли случаи, когда vi является единственным вариантом?

22

Существуют ли сценарии, в которых vi является единственным вариантом для создания, редактирования или изменения файла в среде Ubuntu?

Мой вопрос в основном состоит в том, чтобы действительно знать, есть ли такой случай, когда я буду вынужден использовать vi , потому что это будет единственный вариант, доступный в конкретном случае в экосистеме Ubuntu.

Может ли быть конкретный случай, когда я каким-то образом не имел бы доступа к другим параметрам, таким как nano , pico или просто отправлял информацию с такими инструментами, как cat , sed , tee и более?

Я бы предположил, что это больше похоже на сервер или облако, поскольку на рабочем столе есть много других опций, но от кого-либо, кто пользуется терминалом, я спрашиваю:

Есть ли такой случай?

    
задан Luis Alvarado 27.08.2014 в 17:17
источник

10 ответов

32

Внутри экосистемы Ubuntu я не думаю, что этот случай может даже существовать , поскольку vi по крайней мере будет vim-tiny, который уже является " real vim "далеко от" real vi . "

В контексте ограниченных ресурсов встроенных систем, которые обычно не являются Ubuntu, у вас может быть только vi , которое оказывается ссылкой на busybox . И не осталось места. Тогда, vi - единственный вариант.

Кроме того, я думаю, что ситуации, когда vi - единственный параметр не очень общий вообще, даже вне мира Linux .

Но могут быть ситуации, когда vi единственный вариант, который вы можете планировать для , единственный вариант, который certaily будет существовать в какой-то будущей ситуации - что, скорее всего, произойдет в захламленной серверной комнате клиента.

Представьте, что вы вызваны клиентом:

  

Клиент: Мне нужно установить эту конфигурацию! Теперь!! Я не знаю, как, но я могу сказать вам, где находится файл конфигурации. Можете ли вы мне помочь??!

     

Вы: Хорошо, какая система работает?      

Клиент: О, это на сервере foo, ahh ... он работает ... не помню, что-то с «ix» в конце , или mayeb с «ux» ...

Нет проблем, к настоящему времени вы знаете, что будет vi !

    
ответ дан Volker Siegel 27.08.2014 в 18:01
источник
17

Vi никогда не является единственным вариантом; вы всегда можете использовать ed .

    
ответ дан evilsoup 27.08.2014 в 18:17
13

Ну, есть один случай, когда вам нужен редактор vi , допустим:

  • нет графического интерфейса
  • вы находитесь в какой-то странной неизвестной системе *nix
  • ваш терминал выглядит следующим образом:

  • У вас достаточно таких парней:

Как вы видите, нет числовой клавиатуры . Со старым vi (и я имею в виду оригинальный традиционный vi , а не vim , vim.tiny или vim.basic ) вы можете редактировать файл с помощью этой клавиатуры. Без клавиш со стрелками ? Да, когда вы находитесь в командном режиме, вы переместили файл с помощью h , j , k и l , как профессионал. h остался, j был опущен, k поднялся и l был прав.

    
ответ дан chaos 27.08.2014 в 18:39
6

Дело в том, что во многих дистрибутивах редакторы, такие как nano и pico , просто не являются стандартными, а другие пакеты, а именно vim-tiny . См. здесь список пакетов ubuntu-minimal, vim-tiny - единственный редактор . В соответствии с этим ответом, похоже, это относится и к серверу Ubuntu. Я знаю, что это имеет место для базы Debian, Fedora.

При этом, учитывая, что если у вас есть nano в вашей системе, я еще не видел случая, когда вместо этого вы должны использовать vi , но, играя с ответом @ Volker, если вы работать для клиента и не иметь корневого доступа? apt-get install nano не собирается делать вам много хорошего (если у него даже есть доступ к внешнему интернету!).

    
ответ дан Mitch 27.08.2014 в 18:02
4

Существует несколько случаев, когда vi (и тем самым, естественно, означает vim.tiny , потому что это то, что мы отправляем) может быть единственным интерактивным редактором. Если мы игнорируем бабочки и космические лучи, это похоже на наиболее вероятные случаи, когда это может произойти:

  • Вы используете мета-пакет ubuntu-minimal . Это зависит от vim-tiny , но никаких других редакторов. В настоящее время я не могу найти способ установить Ubuntu без задачи standard^ , но вы можете удалить его после установки с помощью:

    sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print }')
    

    У меня есть личный опыт, когда мне передали системный образ без установленной задачи standard^ . Если бы у меня не было доступа к сети, vi было бы моим единственным вариантом.

  • Переход в среду, отображающую только vi через

  • Вручную запускать все остальные редакторы (и отключать средства для их переустановки)

  • Вручную разбить оболочку, чтобы остановить известные редакторы, за исключением запуска vi .

Истинная минимальная установка будет наиболее вероятной причиной, но в наши дни это довольно редко. Некоторые VPS и облачные хостинговые компании используют их (чтобы экономить дисковое пространство так же, как и все остальное), но я бы предположил, что они определенно не являются нормой.

    
ответ дан Oli 29.08.2014 в 07:38
2

В случаях, когда вы не можете установить emacs или в случаях, когда вам нужно изменить файл конфигурации, чтобы вы могли установить emacs. :-p     

ответ дан Craig 28.08.2014 в 08:09
2

У многих (большинство?) установок Busy-Box только vi .

Это не специфичный для Ubuntu, но он верен для встроенных устройств many .     

ответ дан Fake Name 28.08.2014 в 09:35
2

Всегда есть кошка, голова, хвост ... поэтому я не уверен, что есть система, в которой у вас нет альтернативы, но можно найти системы, в которых нет альтернативы лучше если вы предпочитаете emacs.

Мой пример был системой, которую я когда-то администрировал, это было либо слишком медленным (или линия была медленной, и потерянной), что при навигации с помощью клавиш курсора он часто внезапно переключился на вставку и впрыснутый мусор в отредактированный файл и используя HJKL для движения был единственным надежным вариантом.

    
ответ дан Edheldil 28.08.2014 в 16:50
2

Вот пример, когда vim является единственным вариантом в экосистеме Ubuntu: Ubuntu Snappy не поставляется с каким-либо текстовым редактором, отличным от vim-tiny . Возможно, в будущем будет один, но не с 2015 по 16. Если вы собираетесь использовать Ubuntu Snappy через последовательную консоль или ssh, лучше быть готовым использовать vim .     

ответ дан Sergiy Kolodyazhnyy 20.03.2016 в 07:19
0

Я попал в ситуацию, когда работал только lin-режим vi. Что-то связано с тем, что действительно испортили терминальные определения. В основном только vi в linemode (это ведет себя как обычный vi, если вы притворяетесь, что у вас есть 1-строчный терминал), ex и ed будут работать, потому что единственное определение терминала было «немым».

    
ответ дан Joshua 29.08.2014 в 21:35