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

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

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

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

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

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

1
задан 30 August 2014 в 01:19

9 ответов

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

17
ответ дан 24 May 2018 в 04:15

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

нет графического интерфейса, который вы используете в какой-то странной неизвестной системе *nix, ваш терминал выглядит так:

нет графического интерфейса

enter image description here

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

13
ответ дан 24 May 2018 в 04:15
  • 1
    Я думаю, что этот ответ на самом деле не так уж плох (пишущая машинка, как клавиатура, не совсем маловероятная вещь), но на самом деле это не значит, что вам нужно vi в частности. Все старые текстовые редакторы имеют «резервную копию». комбинации клавиш, которые позволяют работать без клавиш со стрелками и т. д., хотя я полагаю, что vi - единственный редактор, где вы не пропустите клавиши со стрелками. – leftaroundabout 28 August 2014 в 01:07
  • 2
    Немного не по теме: я не понимаю, зачем вам нужна цифровая клавиатура для любого текстового редактора , и стрелки в любом случае бесполезны в Vim. :П – Doorknob 28 August 2014 в 04:54
  • 3
    Эй, не скидывайте старые добрые ed! Нет необходимости в этих "визуальных" трюки в такой системе! Просто попробуйте использовать vim на бумажном терминале и посмотрите, как вы справляетесь ... Более серьезно, знание ed полезно в любом случае, это достойный вариант, когда редактирование должно быть написано сценарием. – hyde 28 August 2014 в 12:27
  • 4
    как вы переключаетесь в командный режим с помощью этой клавиатуры (я не вижу escape-кода, для этого было другое ключевое комбо)? – Foon 29 August 2014 в 21:29
  • 5
    @Foon Есть клавиша escape =) Это где табуляция обычно должна быть. Слева от клавиши Q . – chaos 29 August 2014 в 21:55

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

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

6
ответ дан 24 May 2018 в 04:15

Существует ряд случаев, когда 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 и облачные хостинговые компании используют их (чтобы сэкономить дисковое пространство, как и все остальное), но я бы предположил, что они определенно не являются нормой.

4
ответ дан 24 May 2018 в 04:15
  • 1
    Удивительный ответ, как всегда. Я нахожу его очень знающим. – Luis Alvarado♦ 30 August 2014 в 01:24

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

2
ответ дан 24 May 2018 в 04:15
  • 1
    Или в тех случаях, когда вы хотите использовать главный редактор, который лучше, чем emacs. ( cue flamewar ): P – Doorknob 30 August 2014 в 04:35
  • 2
    Разумеется, если вы используете Ubuntu, то вы уже имеете операционную систему, поэтому emacs будет избыточным: v – evilsoup 31 August 2014 в 01:43
  • 3
    Эй, милый кабачок. :-п – Craig 5 December 2014 в 05:40

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

Это не Ubuntu, но это верно для многих встроенных устройств.

2
ответ дан 24 May 2018 в 04:15

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

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

2
ответ дан 24 May 2018 в 04:15

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

2
ответ дан 24 May 2018 в 04:15

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

0
ответ дан 24 May 2018 в 04:15

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

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