Gibt es Szenarien, in denen vi
die einzige Möglichkeit besteht, eine Datei in einer Ubuntu-Umgebung zu erstellen, zu bearbeiten oder zu ändern?
Meine Frage ist im Grunde, ob es einen solchen Fall gibt, zu dem ich gezwungen wäre, ihn zu verwenden, vi
da dies die einzige Option ist, die in einem bestimmten Fall im Ubuntu-Ökosystem zur Verfügung steht.
Könnte ein Fall vor , wenn ich irgendwie nicht den Zugang zu anderen Optionen haben möchte nano
, pico
oder einfach nur die Informationen mit Tool wie das Senden cat
, sed
, tee
und mehr?
Ich würde annehmen, dass dies eher eine Server- oder Cloud-Seite ist, da es auf dem Desktop viel mehr Optionen gibt, aber von jedem, der das Terminal viel benutzt, frage ich:
Gibt es so einen Fall?
visudo
jeden Editor benutzen. Da die Standardkonfiguration von Ubuntu die UmgebungsvariablenEDITOR
undVISUAL
berücksichtigt, können Siesudo env VISUAL=emacs visudo
für Emacs oder sogargksudo env VISUAL=gedit visudo
für einen grafischen Editor wie Gedit ausgeführt werden. (sudo -H
odersudo -i
kann anstelle vongksudo
. verwendet werden) Ich schlage dieseenv
Methode vor, daVISUAL=emacs sudo visudo
sie nicht funktioniert (densudo
größten Teil der Umgebung zurücksetzt) undsudo -EH
möglicherweise nicht empfohlen wird.cat
?sed
? "Ja wirklich?"vi
Ist wirklich nicht so kompliziert, und wenn Sie wirklich nicht die Mühe haben, es zu lernen, müssen Sie sich nur zwei Modi merken (Normal- und Einfügemodus). Sie bewegen den Cursor mit den Pfeilen (oder HJKL, falls nicht verfügbar) und drücken "i", um die Bearbeitung zu starten (Einfügemodus). Wenn Sie fertig sind, drücken Sie "Esc", um zum normalen Modus zurückzukehren. Geben Sie ": wq" ein, um zu speichern und zu beenden (Write + Quit).Antworten:
In der Ubuntu- Ökosystems glaube ich nicht, dass es diesen Fall überhaupt geben kann , da
vi
es sich zumindest um einen winzigen Fall handeln würde, der bereits ein "realvim
" ist, weit entfernt von "realvi
".Im Zusammenhang mit ressourcenbeschränkten eingebetteten Systemen, die normalerweise nicht Ubuntu sind, kann es sein,
vi
dass sich herausstellt, dass es sich um eine Verknüpfung zu handeltbusybox
. Und kein Platz mehr. Dannvi
ist die einzige Option.Abgesehen davon denke ich, dass Situationen, in denen
vi
die einzige Option überhaupt nicht häufig ist, auch außerhalb der Linux-Welt .Aber es kann leicht Situationen, in denen
vi
ist die einzige Option , die Sie für planen können , die einzige Möglichkeit , dass certaily in einer zukünftigen Situation existieren wird - was im Inneren eines Kunden über kühltes Serverraum, wahrscheinlich passieren wird.Stellen Sie sich vor, Sie werden von einem Kunden angerufen:
Kein Problem, du weißt schon, dass es welche geben wird
vi
!quelle
busybox
vi
ist 4k Zeilen:;curl -s https://gitorious.org/busybox/busybox/raw/1c7a58dfb82ea04c525e0c19f94f2d800dee99e3:editors/vi.c | wc
)Vi ist niemals die einzige Option; Sie können
ed
stattdessen immer verwenden .quelle
ed
das nicht Teil desbase
.vim
ist es auch nicht.vi
ist.ed
ist nur ein Teil derstandard^
Installation. Wenn Sie eineminimal
Installation durchführen,ed
ist dies nicht enthalten.Nun, es gibt einen Fall, in dem Sie den
vi
Editor benötigen , nehmen wir an:*nix
SystemWie Sie sehen, gibt es keinen Ziffernblock . Mit dem alten
vi
(und ich meine das ursprüngliche traditionellevi
, nichtvim
,vim.tiny
odervim.basic
) eine Datei mit dieser Tastatur bearbeiten können. Ohne Pfeiltasten ? Ja, wenn Sie im Befehlsmodus sind bewegen Sie durch die Datei mit h, j, kund l, wie ein Profi. hwar links, jwar unten, kwar oben und lwar richtig.quelle
vi
besonders brauchen . Alle älteren Texteditoren verfügen über "Backup" -Tastenkombinationen, mitvi
denen Sie ohne Pfeiltasten usw. arbeiten können. Ich bin jedoch der Meinung, dass dies der einzige Editor ist, in dem Sie die Pfeiltasten nicht verpassen würden.ed
! Keine Notwendigkeit für diese "visuellen" Spielereien auf einem solchen System! Versuchen Sie einfach, vim auf dem Papier-Terminal zu verwenden und sehen Sie, wie Sieed
damit umgehen.Tatsache ist , dass in vielen Distributionen Editoren wie
nano
undpico
ist einfach nicht Standard , während andere Pakete, nämlichvim-tiny
sind. Siehe hier für die Paketliste von Ubuntu-Minimal,vim-tiny
ist der einzige Editor . Nach dieser Antwort scheint dies auch für den Ubuntu-Server der Fall zu sein. Ich weiß, dass dies auch für Debian und Fedora der Fall ist.Davon abgesehen, wenn Sie
nano
auf Ihrem System haben, habe ich noch keinen Fall, in dem Sievi
stattdessen verwenden müssten, aber spielen Sie die Antwort von @ Volker aus, wenn Sie für einen Kunden arbeiten und keinen haben Root-Zugriff?apt-get install nano
wird dir nicht viel nützen (wenn es überhaupt Zugang zum Internet von außen hat!).quelle
Es gibt eine Reihe von Fällen , in denen
vi
(und damit meine ich natürlich bedeuten ,vim.tiny
denn das ist , was wir versenden) , könnte das einzige interaktive Editor. Wenn wir Schmetterlinge und kosmische Strahlung ignorieren, scheinen dies die wahrscheinlichsten Fälle zu sein, in denen dies passieren könnte:Sie verwenden nur das
ubuntu-minimal
Basis-Metapaket. Dies hängtvim-tiny
aber von keinen anderen Editoren ab. Ich kann derzeit keine Möglichkeit finden, Ubuntu ohne denstandard^
Task zu installieren, aber Sie können ihn nach der Installation mit den folgenden Schritten entfernen:Ich habe persönliche Erfahrungen mit der Übergabe eines Systemabbilds, ohne dass die
standard^
Aufgabe installiert wurde. Wenn ich keinen Netzwerkzugang gehabtvi
hätte, wäre dies meine einzige Option gewesen.Chrooting in eine Umgebung, die nur
vi
durch abgebildetManuelles Nuken aller anderen Editoren (und Deaktivieren der Mittel zu deren Neuinstallation)
Manuelles Unterbrechen der Shell, um bekannte Editoren zu stoppen, außer
vi
sie werden gestartet.Eine wirklich minimale Installation ist der wahrscheinlichste Grund, aber diese sind heutzutage eher selten. Einige VPS- und Cloud-Hosting-Unternehmen verwenden sie (um Speicherplatz zu sparen), aber ich würde vorschlagen, dass sie definitiv nicht die Norm sind.
quelle
In Fällen, in denen Sie Emacs nicht installieren können, oder in Fällen, in denen Sie eine Konfigurationsdatei ändern müssen, um Emacs installieren zu können. :-p
quelle
Viele (die meisten?) Busy-Box-Installationen haben nur
vi
.Es ist nicht Ubuntu-spezifisch, aber es gilt für viele eingebettete Geräte.
quelle
Es gibt immer Katze, Kopf, Schwanz ... also bin ich mir nicht sicher, ob es ein System gibt, bei dem es keine Alternative gibt, aber es ist möglich, Systeme zu finden, bei denen es keine bessere Alternative gibt, selbst wenn Sie Emacs bevorzugen.
Mein Beispiel war ein System, das ich einmal verwaltet habe, das entweder so langsam war (oder die Zeile war langsam und verlustbehaftet), dass beim Navigieren mit den Cursortasten oft plötzlich Müll in die bearbeitete Datei eingefügt und injiziert und HJKL für die Bewegung verwendet wurde war die einzige zuverlässige Option.
quelle
Hier ist der Fall, in dem vim die einzige Option im Ubuntu-Ökosystem ist: Es
Ubuntu Snappy
wird kein anderer Texteditor als mitgeliefertvim-tiny
. Vielleicht wird es in Zukunft eine geben, aber nicht ab 2015-16. Wenn Sie Ubuntu Snappy über eine serielle Konsole oder ssh verwenden, sollten Sie besser darauf vorbereitet seinvim
.quelle
Ich geriet einmal in eine Situation, in der nur Vi´s Linemode funktionierte. Das hat etwas damit zu tun, dass man die Terminaldefinitionen wirklich durcheinander gebracht hat. Grundsätzlich funktionierten nur vi im Linemode (dies verhält sich wie normales vi, wenn Sie so tun, als hätten Sie ein 1-Zeilen-Terminal), ex und ed, da die einzige Terminaldefinition "dumm" war.
quelle