Linux Tutorial – 6. Vi Text Editor

Einführung

Meistern Sie den Vi Text Editor und lernen Sie, wie Sie komplexe Bearbeitungen an Ihren Dateien mit weniger Zeit und Mühe vornehmen können.

Im letzten Abschnitt haben wir ein paar Dateien erstellt, aber sie waren leer. Ein bisschen langweilig, aber irgendwo müssen wir ja anfangen. In diesem Abschnitt sehen wir uns ein Werkzeug an, mit dem wir Inhalte in Dateien einfügen und diese Inhalte auch bearbeiten können. Vi ist ein Texteditor, der sich höchstwahrscheinlich stark von allen anderen Editoren unterscheidet, die Sie bisher benutzt haben. Es wird eine Weile dauern, bis Sie sich damit vertraut gemacht haben, aber dann werden Sie feststellen, dass er ziemlich leistungsstark ist. Es ist ein bisschen wie mit dem Tippen, anfangs ist das Erlernen umständlich und man fragt sich, warum man sich die Mühe macht, aber wenn man einmal den Dreh raus hat, will man nicht mehr zurück.

Selbst wenn man Vi nicht ständig benutzt, wird man feststellen, dass die Arbeitsmuster, die man beim Erlernen des Editors entwickelt, leicht auf andere Programme übertragen werden können, und zwar mit großem Erfolg.

Dieser Abschnitt und die nächsten Abschnitte bilden die Grundlage für die letzten Abschnitte, in denen wir alles zusammenfügen und einige wirklich verrückte Dinge tun werden. Ich habe mich dafür entschieden, Vi zuerst zu betrachten, damit dein Verstand ein wenig Zeit hat, es zu verarbeiten und einen Sinn darin zu sehen, als Vorbereitung für später, wenn wir es brauchen werden.

Vi ist ein sehr mächtiges Werkzeug. In diesem Abschnitt möchte ich nicht alles abdecken, was Vi kann, sondern Sie mit den Grundlagen vertraut machen. Am Ende des Abschnitts werde ich einige Links zu Ressourcen bereitstellen, mit denen Sie Vi weiter erlernen können. Ich empfehle Ihnen, sich ein paar davon anzusehen.

Ein Kommandozeilen-Editor

Vi ist ein Kommandozeilen-Texteditor. Wie Sie sicher wissen, ist die Kommandozeile eine ganz andere Umgebung als die grafische Benutzeroberfläche. Es ist ein einzelnes Fenster mit reiner Texteingabe und -ausgabe. Vi wurde entwickelt, um innerhalb dieser Beschränkungen zu arbeiten, und viele würden behaupten, dass es als Ergebnis ziemlich leistungsfähig ist. Vi ist als reiner Texteditor gedacht (ähnlich wie Notepad unter Windows oder Textedit auf dem Mac) und nicht als Textverarbeitungsprogramm wie Word oder Pages. Es ist jedoch wesentlich leistungsfähiger als Notepad oder Textedit.

Deshalb müssen Sie die Maus weglassen. Alles in Vi wird über die Tastatur erledigt.

Es gibt zwei Modi in Vi. Den Einfügemodus (oder Eingabemodus) und den Bearbeitungsmodus. Im Eingabemodus können Sie Inhalte in die Datei eingeben oder einfügen. Im Bearbeitungsmodus können Sie sich in der Datei bewegen und Aktionen wie Löschen, Kopieren, Suchen und Ersetzen, Speichern usw. durchführen. Ein häufiger Fehler ist es, Befehle einzugeben, ohne vorher in den Bearbeitungsmodus zurückzukehren, oder mit der Eingabe zu beginnen, ohne vorher in den Einfügemodus zu wechseln. Wenn Sie einen dieser beiden Fehler begehen, ist es im Allgemeinen einfach, ihn zu beheben, also machen Sie sich nicht zu viele Sorgen.

Wenn wir vi ausführen, geben wir normalerweise ein einziges Kommandozeilenargument an, nämlich die Datei, die Sie bearbeiten möchten.

vi <Datei>

Wenn Sie vergessen haben, eine Datei anzugeben, gibt es eine Möglichkeit, eine Datei innerhalb von vi zu öffnen, aber es ist am einfachsten, vi zu beenden und es noch einmal zu versuchen. Denken Sie auch daran, dass wir bei der Angabe der Datei entweder einen absoluten oder einen relativen Pfad angeben können.

Lassen Sie uns eintauchen und anfangen. Es wird mir schwer fallen, vieles davon zu demonstrieren, also werde ich stattdessen auflisten, was Sie eingeben sollen, und Sie müssen es ausprobieren und sehen, was passiert.

Zunächst gehen wir in Ihr Verzeichnis, das Sie im Abschnitt über die Dateimanipulation erstellt haben. Wir werden ein paar Dateien erstellen und sie so von den normalen Dingen fernhalten.

Nun werden wir unsere erste Datei bearbeiten.

  1. vi firstfile

Wenn du diesen Befehl ausführst, wird die Datei geöffnet. Wenn die Datei nicht existiert, wird sie für Sie erstellt und dann geöffnet. (Sie müssen die Dateien nicht anfassen, bevor Sie sie bearbeiten) Sobald Sie vi eingeben, sieht es ungefähr so aus (je nach System kann es allerdings etwas anders aussehen).

  1. ~
  2. ~
  3. ~
  4. ~
  5. ~
  6. „firstfile“

Du beginnst immer im Bearbeitungsmodus, also werden wir als erstes in den Einfügemodus wechseln, indem wir i drücken. Sie können erkennen, wann Sie sich im Einfügemodus befinden, da die untere linke Ecke dies anzeigt.

  1. ~
  2. ~
  3. ~
  4. ~
  5. — EINFÜGEN —

Nun geben Sie ein paar Zeilen Text ein und drücken Sie Esc, was Sie zurück in den Bearbeitungsmodus bringt.

Speichern und Beenden

Es gibt mehrere Möglichkeiten, dies zu tun. Sie tun alle im Wesentlichen das Gleiche, also wähle den Weg, den du bevorzugst. Vergewissern Sie sich in jedem Fall, dass Sie sich im Bearbeitungsmodus befinden.

Wenn Sie sich nicht sicher sind, ob Sie sich im Bearbeitungsmodus befinden oder nicht, können Sie in der unteren linken Ecke nachsehen. Solange dort nicht INSERT steht, ist alles in Ordnung. Alternativ können Sie auch einfach Esc drücken, um sicherzugehen. Wenn Sie sich bereits im Bearbeitungsmodus befinden, bewirkt das Drücken von Esc nichts, so dass Sie keinen Schaden anrichten.

Die meisten Befehle in vi werden ausgeführt, sobald Sie eine Reihe von Tasten drücken. Jeder Befehl, der mit einem Doppelpunkt ( : ) beginnt, erfordert, dass du <Enter> drückst, um den Befehl abzuschließen.

Speichere und beende die Datei, die du gerade geöffnet hast

Andere Möglichkeiten, Dateien zu betrachten

vi erlaubt uns, Dateien zu bearbeiten. Wenn wir wollten, könnten wir es auch zum Anzeigen von Dateien verwenden, aber es gibt zwei andere Befehle, die für diesen Zweck etwas bequemer sind. Der erste ist cat, was eigentlich für concatenate steht. Sein Hauptzweck ist es, Dateien zusammenzufügen, aber in seiner einfachsten Form ist es nützlich, um Dateien zu betrachten.

cat <file>

Wenn du den Befehl cat ausführst und ihm ein einziges Kommandozeilenargument gibst, nämlich die Datei, die wir gerade erstellt haben, wirst du ihren Inhalt auf dem Bildschirm sehen, gefolgt von der Eingabeaufforderung.

Wenn Sie den Befehl cat versehentlich ausführen, ohne ihm ein Kommandozeilenargument zu geben, werden Sie feststellen, dass sich der Cursor zur nächsten Zeile bewegt und dann nichts passiert. Da wir keine Datei angegeben haben, liest cat stattdessen von etwas namens STDIN (das wir im Abschnitt „Piping und Umleitung“ kennenlernen werden), das standardmäßig auf der Tastatur liegt. Wenn du etwas eintippst und dann <Enter> drückst, wirst du sehen, dass cat deine Eingabe auf den Bildschirm spiegelt. Um hier herauszukommen, können Sie <Strg> + c drücken, was das universelle Signal für Abbrechen in Linux ist.

In der Tat, wann immer Sie in Schwierigkeiten geraten, können Sie generell <Strg> + c drücken, um sich selbst aus den Schwierigkeiten herauszuholen.

  1. cat firstfile
  2. hier siehst du
  3. den Inhalt, den du
  4. in deine Datei eingegeben hast

Dieser Befehl ist gut, wenn wir eine kleine Datei ansehen wollen, aber wenn die Datei groß ist, dann fliegt der meiste Inhalt über den Bildschirm und wir sehen nur die letzte Seite des Inhalts. Für größere Dateien gibt es einen besser geeigneten Befehl, der weniger ist.

weniger <Datei>

weniger ermöglicht es Ihnen, sich mit den Pfeiltasten innerhalb einer Datei nach oben und unten zu bewegen. Sie können eine ganze Seite vorwärts gehen, indem Sie die Leertaste drücken, oder eine Seite zurück, indem Sie b drücken. Wenn Sie fertig sind, können Sie q für quit drücken.

Schauen Sie sich die Datei an, die Sie gerade erstellt haben, indem Sie diese beiden Befehle benutzen.

Navigieren in einer Datei in Vi

Nun lassen Sie uns zurück in die Datei gehen, die wir gerade erstellt haben, und etwas mehr Inhalt eingeben. Im Einfügemodus können Sie die Pfeiltasten benutzen, um den Cursor zu bewegen. Geben Sie zwei weitere Absätze ein und drücken Sie dann Esc, um in den Bearbeitungsmodus zurückzukehren.

Nachfolgend finden Sie einige der vielen Befehle, die Sie eingeben können, um sich in der Datei zu bewegen. Probieren Sie sie aus und sehen Sie, wie sie funktionieren.

  • Pfeiltasten – bewegen Sie den Cursor
  • j, k, h, l – bewegen Sie den Cursor nach unten, oben, links und rechts (ähnlich wie die Pfeiltasten)
  • ^ (Cursor) – bewegt den Cursor zum Anfang der aktuellen Zeile
  • $ – bewegt den Cursor zum Ende der aktuellen Zeile
  • nG – bewegt sich zur n-ten Zeile (z.B. 5G bewegt sich zur 5. Zeile)
  • G – bewegt sich zur letzten Zeile
  • w – springt zum Anfang des nächsten Wortes
  • nw – springt n Worte vorwärts (z.B. 2w springt zwei Worte vorwärts)
  • b – springt zum Anfang des vorherigen Wortes
  • nb – springt n Worte zurück
  • { – springt einen Absatz zurück
  • } – einen Absatz vorwärts

Wenn man im Bearbeitungsmodus von vi :set nu eingibt, werden die Zeilennummern aktiviert. Ich finde, dass das Einschalten der Zeilennummern die Arbeit mit den Dateien viel einfacher macht.

Inhalt löschen

Wir haben gerade gesehen, dass es eine ganze Reihe von Optionen gibt, wenn wir uns in vi bewegen wollen. Bei einigen von ihnen kann man auch eine Zahl voranstellen, um sich so oft wie möglich zu bewegen. Das Löschen funktioniert ähnlich wie das Bewegen, denn einige Löschbefehle erlauben es, einen Bewegungsbefehl einzubauen, um zu definieren, was gelöscht werden soll.

Nachfolgend sind einige der vielen Möglichkeiten aufgeführt, wie wir Inhalte im vi löschen können. Probieren Sie sie doch einfach mal aus. (Schau dir auch den Abschnitt über das Rückgängigmachen an, damit du deine Löschungen rückgängig machen kannst.)

  • x – ein einzelnes Zeichen löschen
  • nx – n Zeichen löschen (z.B. 5x löscht fünf Zeichen)
  • dd – die aktuelle Zeile löschen
  • dn – d gefolgt von einem Bewegungsbefehl. Löschen Sie bis zu der Stelle, an die Sie der Bewegungsbefehl geführt hätte. (z.B. d5w bedeutet 5 Wörter löschen)

Rückgängig machen

Änderungen in vi rückgängig machen ist ziemlich einfach. Es ist das Zeichen u.

  • u – Die letzte Aktion rückgängig machen (Sie können u immer wieder drücken, um das Rückgängigmachen fortzusetzen)
  • U (Hinweis: Großbuchstaben) – Alle Änderungen an der aktuellen Zeile rückgängig machen

Weitergehen

Wir können jetzt Inhalte in eine Datei einfügen, uns in der Datei bewegen, Inhalte löschen und rückgängig machen, dann speichern und beenden. Sie können jetzt grundlegende Bearbeitungen in vi vornehmen. Dies ist jedoch nur ein kleiner Ausschnitt dessen, was vi kann. Ich werde hier nicht auf alle Details eingehen (ich denke, ich habe Ihnen schon genug erzählt), aber ich werde Ihnen ein paar Dinge nennen, die Sie sich ansehen sollten, um Ihre Kenntnisse in vi zu erweitern. Eine einfache Suche in einer Suchmaschine Ihrer Wahl nach vi <Fügen Sie hier ein Konzept ein> wird Ihnen viele Seiten mit nützlichen Informationen liefern. Es gibt auch viele vi-Spickzettel, die alle verfügbaren Befehle auflisten.

  • Kopieren und Einfügen
  • Suchen und Ersetzen
  • Puffer
  • Markierungen
  • Reichweiten
  • Einstellungen

Viel Spaß und denken Sie daran, dran zu bleiben. vi wird anfangs schmerzhaft sein, aber mit etwas Übung wird es bald dein Freund werden.

Zusammenfassung

vi Eine Datei bearbeiten. cat Eine Datei anzeigen. less Praktisch zum Anzeigen großer Dateien.
Keine Maus vi ist ein Texteditor, bei dem alles mit der Tastatur gemacht wird. Wenn Sie tippen können, ist das großartig. Wenn nicht, sollten Sie vielleicht darüber nachdenken, es zu lernen. Bearbeitungsbefehle Es gibt viele davon. Übung ist der Schlüssel, um sich an die am häufigsten verwendeten und nützlichsten Befehle zu erinnern.

Aktivitäten

Lassen Sie uns mit etwas Inhalt spielen.

  • Beginnen Sie damit, eine Datei zu erstellen und etwas Inhalt hineinzugeben.
  • Speichern Sie die Datei und zeigen Sie sie in cat und less an
  • Gehen Sie zurück in die Datei in vi und geben Sie etwas mehr Inhalt ein.
  • Verschieben Sie den Inhalt mit mindestens 6 verschiedenen Bewegungsbefehlen
  • Spielen Sie mit einigen der Löschbefehle herum, besonders mit denen, die einen Bewegungsbefehl enthalten. Denke daran, dass du deine Änderungen rückgängig machen kannst, damit du nicht ständig neue Inhalte einfügen musst.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.