wake-up-neo.net

Gibt es Fälle, in denen vi die einzige Option ist?

Gibt es Szenarien, in denen vi die einzige Möglichkeit ist, eine Datei in einer Ubuntu-Umgebung zu erstellen, zu bearbeiten oder zu ändern?

Meine Frage ist im Grunde, ob es einen solchen Fall gibt, in dem ich gezwungen wäre, vi zu verwenden, da dies die einzige Option ist, die in einem bestimmten Fall im Ubuntu-Ökosystem zur Verfügung steht.

Könnte es einen bestimmten Fall geben, in dem ich irgendwie keinen Zugriff auf andere Optionen wie nano, pico oder einfach das Senden der Informationen mit Tools wie 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?

22
Luis Alvarado

Innerhalb des Ökosystems bunt glaube ich nicht, dass dieser Fall kann sogar existieren, da vi zumindest ein Winzling wäre, von dem vim bereits weit entfernt ist "Echt vi."

Im Kontext von ressourcenbeschränkt ​​eingebetteten Systemen, die normalerweise nicht Ubuntu sind, haben Sie möglicherweise nur ein vi, das sich als Verknüpfung zu busybox herausstellt. Und kein Platz mehr. Dann ist vi die einzige Option.

Abgesehen davon denke ich, dass Situationen, in denen vi die einzige Option ist, nicht sehr verbreitet ​​heute sogar außerhalb der Linux-Welt.

Aber es kann leicht Situationen geben, in denen vidie einzige Option, die Sie einplanen können, die einzige Option, die es in einer zukünftigen Situation gibt - die höchstwahrscheinlich im überkühlten Serverraum eines Kunden stattfindet .

Stellen Sie sich vor, Sie werden von einem Kunden angerufen:

Kunde: Ich muss diese Konfiguration korrigieren! Jetzt!! Ich weiß nicht wie, aber ich kann Ihnen sagen, wo sich die Konfigurationsdatei befindet. Können Sie mir helfen!?!

Sie: Ok, auf was für einem System läuft das?

Kunde: Oh, es ist auf dem Server foo, ahh ... es läuft ... kann mich nicht erinnern etwas mit "ix" am Ende oder mayeb mit " ux "...

Kein Problem, Sie wissen, dass es vi geben wird!

32
Volker Siegel

Vi ist niemals die einzige Option; Sie können stattdessen immer ed verwenden.

17
evilsoup

Nun, es gibt einen Fall, in dem Sie den vi -Editor benötigen, nehmen wir an:

  • es gibt keine grafische Oberfläche
  • du bist in einem seltsamen unbekannten *nix System
  • ihr Terminal sieht folgendermaßen aus:

enter image description here

  • du hast genug von Leuten wie diesen:

enter image description here

Wie Sie sehen, gibt es keinen Ziffernblock . Mit dem alten vi (und ich meine das rsprüngliches traditionelles vi , nicht vim, vim.tiny oder vim.basic) können Sie Bearbeiten Sie eine Datei mit dieser Tastatur. Ohne Pfeiltasten ? Ja, wenn Sie sich im Befehlsmodus befinden, haben Sie die Datei mit durchlaufen hjk und l, wie ein Profi. h wurde zurückgelassen, j war unten, k war auf und ab l hatte Recht.

13
chaos

Tatsache ist, dass in vielen Distributionen Editoren wie nano und pico nicht zum Standard gehören, während andere Pakete, nämlich vim-tiny, dies 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 gesehen, in dem Sie vi verwenden MÜSSEN, aber spielen Sie @ Volkers Antwort aus, wenn Sie Sie arbeiten für einen Kunden und haben keinen Root-Zugriff? apt-get install nano wird dir nicht viel nützen (wenn es überhaupt Zugang zum externen Internet hat!).

6
Mitch

Es gibt eine Reihe von Fällen, in denen vi (und damit meine ich natürlich vim.tiny, weil wir das liefern) könnte der einzige interaktive Editor sein. 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 Basis-Metapaket ubuntu-minimal. Dies hängt von vim-tiny aber keinen anderen Editoren ab. Ich kann derzeit keine Möglichkeit finden, Ubuntu ohne den Task standard^ zu installieren, aber Sie können ihn nach der Installation mit den folgenden Schritten entfernen:

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

    Ich habe persönliche Erfahrungen mit der Übergabe eines Systemabbilds ohne die installierte Task standard^. Wenn ich keinen Netzwerkzugriff gehabt hätte, wäre vi meine einzige Option gewesen.

  • Chrooten in eine Umgebung, die nur vi zugeordnet hat

  • Manuelles Nuking aller anderen Editoren (und Deaktivieren der Mittel zu deren Neuinstallation)

  • Manuelles Unterbrechen der Shell, um bekannte Editoren zu stoppen, außer dass vi gestartet wird.

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.

4
Oli

Hier ist der Fall, in dem vim die einzige Option im Ubuntu-Ökosystem ist: Ubuntu Snappy enthält keinen anderen Texteditor als vim-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 auf die Verwendung von vim vorbereitet sein.

2

Es gibt immer Katze, Kopf, Schwanz ... also bin ich mir nicht sicher, ob es ein System gibt, in dem es keine Alternative gibt, aber es ist möglich, Systeme zu finden, in denen es keine bessere Alternative gibt, auch wenn Sie es vorziehen Emacs.

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.

2
Edheldil

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

2
Craig

Viele (die meisten?) Busy-Box-Installationen haben nur vi.

Es ist nicht Ubuntu-spezifisch, aber es gilt für viele eingebettete Geräte.

2
Fake Name

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.

0
Joshua