Существуют ли сценарии, в которых vi
можно создать, отредактировать или изменить файл в среде Ubuntu?
Мой вопрос заключается в том, чтобы действительно знать, есть ли такой случай, когда меня заставят использовать, vi
потому что это будет единственный вариант, доступный в конкретном случае в экосистеме Ubuntu.
Может ли частный случай существует там , где я как - то не буду иметь доступ к другим вариантам , как nano
, pico
или просто посылая информацию с помощью инструментов , как cat
, sed
, tee
и многой другой?
Я бы предположил, что это скорее серверная или облачная сторона, поскольку на рабочем столе гораздо больше вариантов, но от любого, кто использует терминал, я часто спрашиваю:
Есть ли такой случай?
visudo
можно использовать любой редактор. Поскольку конфигурация по умолчанию в Ubuntu учитывает переменные средыEDITOR
иVISUAL
, вы можете запуститьsudo env VISUAL=emacs visudo
emacs или дажеgksudo env VISUAL=gedit visudo
графический редактор, такой как Gedit. (sudo -H
илиsudo -i
может использоваться вместоgksudo
.) Я предлагаю этотenv
способ, так какVISUAL=emacs sudo visudo
он не будет работать (sudo
сбрасывает большую часть среды) иsudo -EH
может считаться нецелесообразным.cat
?sed
? В самом деле?vi
на самом деле это не так сложно, и если вы действительно не можете научиться этому, вам нужно запомнить только два режима (обычный режим и режим вставки). Вы перемещаете курсор стрелками (или HJKL, если недоступен), нажимаете «i», чтобы начать редактирование (режим вставки). Как только вы закончите, нажмите «Esc», чтобы вернуться в обычный режим. Введите «: wq» для сохранения и выхода (Write + Quit).Ответы:
Внутри экосистемы Ubuntu я не думаю, что этот случай может даже существовать , так как
vi
, по крайней мере, он будет крошечным, который уже является «реальнымvim
», далеко не «реальнымvi
».В контексте встроенных систем с ограниченными ресурсами , которые обычно не являются Ubuntu, у вас может
vi
быть просто ссылка, на которую оказывается ссылкаbusybox
. И не осталось места. Тогдаvi
это единственный вариант.Кроме того, я думаю, что ситуации, когда
vi
единственный вариант не очень распространен сегодня даже за пределами мира Linux .Но может быть легко ситуации , когда
vi
является единственным вариантом вы можете планировать , единственный вариант , который certaily будет существовать в будущем ситуации - что будет происходить внутри над охлажденной серверной комнатой клиента, скорее всего.Представьте, что вам звонит клиент:
Нет проблем, теперь вы знаете, что будет
vi
!источник
busybox
vi
это 4k строк:;curl -s https://gitorious.org/busybox/busybox/raw/1c7a58dfb82ea04c525e0c19f94f2d800dee99e3:editors/vi.c | wc
)Vi никогда не единственный вариант; Вы всегда можете использовать
ed
вместо этого.источник
ed
это не частьbase
.vim
тоже нет.vi
есть.ed
это только частьstandard^
установки. Если вы делаетеminimal
установку,ed
не входит.Ну, есть один случай, когда вам нужен
vi
редактор, давайте предположим:*nix
системеКак видите, здесь нет цифровой клавиатуры . Со старой
vi
(и я имею в виду оригинальный традиционныйvi
, неvim
,vim.tiny
илиvim.basic
) , вы можете редактировать файл с этой клавиатурой. Без клавиш со стрелками ? Да, когда вы находитесь в командном режиме вы переместили через файл с h, j, kи l, как профессионал. hбыл слева, jбыл вниз, kбыл вверх и lбыл прав.источник
vi
конкретно Все старые текстовые редакторы имеют «резервные» комбинации клавиш, которые позволяют работать без клавиш со стрелками и т. Д., Хотя, я полагаю,vi
это единственный редактор, в котором вы не пропустите клавиши со стрелками.ed
! Нет необходимости в этих "визуальных" уловках в такой системе! Просто попробуйте использовать vim на бумажном терминале и посмотрите, как вы справляетесь ... Более серьезно, знаниеed
полезно в любом случае, это хороший вариант, когда редактирование требует написания сценария.Дело в том, что во многих дистрибутивах редакторы, как
nano
иpico
просто не являются стандартными, а другие пакеты, а именноvim-tiny
. Смотрите здесь список пакетов ubuntu-minimal,vim-tiny
единственный редактор . Согласно этому ответу, похоже, что это касается и сервера Ubuntu. Я знаю, что это касается и базового Debian, и Fedora.При этом, учитывая, что если у вас есть
nano
в вашей системе, я еще не видел случая, когда вы должны были бы использоватьvi
вместо этого, но, разыгрывая ответ @ Volker, если вы работаете на клиента и не имеете корневой доступ?apt-get install nano
не принесет вам много пользы (если у него даже есть доступ к внешнему интернету!).источник
Есть ряд случаев, когда
vi
(и под этим я, естественно, имею в виду,vim.tiny
потому что это то, что мы отправляем) может быть единственным интерактивным редактором. Если мы игнорируем бабочек и космические лучи, это может показаться наиболее вероятным случаем, когда это может произойти:Вы используете только
ubuntu-minimal
базовый метапакет. Это зависит отvim-tiny
других редакторов, но не от них. В настоящее время я не могу найти способ установить Ubuntu без этойstandard^
задачи, но вы можете удалить его после установки с помощью:У меня есть личный опыт, когда мне передавали образ системы без
standard^
установленной задачи. Если бы у меня не было доступа к сети,vi
это был бы мой единственный вариант.Внедрение в среду, которая отображается только
vi
черезОбнуление всех остальных редакторов вручную (и отключение средств для их переустановки)
Вручную взломать оболочку, чтобы остановить известные редакторы, кроме
vi
запуска.Истинно-минимальная установка будет наиболее вероятной причиной, но в наши дни это происходит довольно редко. Некоторые VPS и компании облачного хостинга используют их (чтобы сэкономить место на диске так же, как и все остальное), но я бы сказал, что они определенно не являются нормой.
источник
В случаях, когда вы не можете установить emacs, или в тех случаях, когда вам нужно изменить файл конфигурации, чтобы вы могли установить emacs. :-п
источник
У многих (большинства?) Установок Busy-Box есть только
vi
.Это не специфично для Ubuntu, но верно для многих встроенных устройств.
источник
Всегда есть кошка, голова, хвост ... поэтому я не уверен, что есть система, в которой у вас нет альтернативы, но можно найти системы, в которых нет лучшей альтернативы, даже если вы предпочитаете emacs.
Моим примером была система, которую я однажды администрировал, или она была настолько медленной (или линия была медленной и с потерями), что при навигации с помощью клавиш курсора она часто внезапно переключалась на вставку и добавление мусора в отредактированный файл и использование HJKL для перемещения был единственный надежный вариант.
источник
Вот случай, когда vim является единственным вариантом в экосистеме Ubuntu:
Ubuntu Snappy
не поставляется с любым текстовым редактором, кромеvim-tiny
. Возможно, в будущем он будет, но не по состоянию на 2015-16 гг. Если вы собираетесь использовать Ubuntu Snappy через последовательную консоль или ssh, вам лучше быть готовым к использованиюvim
.источник
Однажды я попал в ситуацию, когда работал только линейный режим vi. Что-то, что связано с тем, что вы действительно испортили определения терминалов. В основном только vi в линейном режиме (это ведет себя как обычный vi, если вы притворяетесь, что у вас есть 1-строчный терминал), ex и ed собирались работать, потому что единственное определение терминала было «немым».
источник