GeeksforGeeks
Der Standard-Editor, der mit dem UNIX-Betriebssystem geliefert wird, heißt vi (visueller Editor). Mit dem vi-Editor können wir eine bestehende Datei bearbeiten oder eine neue Datei von Grund auf neu erstellen. Wir können diesen Editor auch verwenden, um eine Textdatei einfach zu lesen.
Syntax:
vi filename
Eingabe:
Ausgabe:
Betriebsmodi im vi-Editor Es gibt drei Betriebsmodi im vi:
- Befehlsmodus: Wenn vi gestartet wird, befindet es sich im Befehlsmodus. In diesem Modus interpretiert vi alle Zeichen, die wir eingeben, als Befehle und zeigt sie daher nicht im Fenster an. In diesem Modus können wir uns durch eine Datei bewegen und einen Textabschnitt löschen, kopieren oder einfügen.
Um aus einem anderen Modus in den Befehlsmodus zu gelangen, müssen wir die Taste drücken. Wenn wir die Taste drücken, wenn wir bereits im Befehlsmodus sind, dann piept vi oder der Bildschirm blinkt. - Einfügemodus: In diesem Modus können Sie Text in die Datei einfügen. Alles, was in diesem Modus getippt wird, wird als Eingabe interpretiert und schließlich in die Datei eingefügt. Das vi startet immer im Befehlsmodus. Um Text einzugeben, müssen Sie sich im Einfügemodus befinden. Um in den Einfügemodus zu kommen, tippen Sie einfach i. Um aus dem Einfügemodus herauszukommen, drücken Sie die Esc-Taste, wodurch Sie wieder in den Befehlsmodus gelangen.
- Letzter Zeilenmodus (Escape-Modus): Der Zeilenmodus wird aufgerufen, indem Sie einen Doppelpunkt eingeben, während vi sich im Befehlsmodus befindet. Der Cursor springt dann in die letzte Zeile des Bildschirms und vi wartet auf einen Befehl. In diesem Modus können Sie Aufgaben wie das Speichern von Dateien und das Ausführen von Befehlen durchführen.
Starten des vi-Editors
Es gibt folgende Möglichkeiten, den vi-Editor zu starten:
Befehle und ihre Beschreibung
- vi Dateiname: Erstellt eine neue Datei, wenn sie noch nicht existiert, andernfalls öffnet es eine bestehende Datei.
- vi -R Dateiname : Öffnet eine bestehende Datei im Nur-Lese-Modus.
- view Dateiname : Öffnet eine bestehende Datei im Nur-Lese-Modus.
Bewegen innerhalb einer Datei(Navigation):
Um sich innerhalb einer Datei zu bewegen, ohne den Text zu beeinflussen, muss man sich im Befehlsmodus befinden (zweimal Esc drücken). Hier sind einige der Befehle, die verwendet werden können, um sich zeichenweise zu bewegen.
Befehle und ihre Beschreibung
- k : Bewegt den Cursor eine Zeile nach oben.
- j : Bewegt den Cursor eine Zeile nach unten.
- h : Bewegt den Cursor eine Zeichenposition nach links.
- l : Bewegt den Cursor um ein Zeichen nach rechts.
- 0 oder | : Positioniert den Cursor am Zeilenanfang.
- $ : Positioniert den Cursor am Zeilenende.
- W : Positioniert den Cursor auf das nächste Wort.
- B : Positioniert den Cursor auf das vorherige Wort.
- ( : Positioniert den Cursor an den Anfang des aktuellen Satzes.
- ) : Positioniert den Cursor an den Anfang des nächsten Satzes.
- H : Bewegt sich an den oberen Rand des Bildschirms.
- nH : Bewegt sich zur n-ten Zeile vom oberen Rand des Bildschirms.
- M : Bewegt sich zur Mitte des Bildschirms.
- L : Bewegt sich zum unteren Rand des Bildschirms.
- nL : Bewegt sich zur n-ten Zeile vom unteren Rand des Bildschirms.
- Doppelpunkt zusammen mit x : Ein Doppelpunkt gefolgt von einer Zahl positioniert den Cursor auf die Zeilennummer, die durch x dargestellt wird.
Steuerungsbefehle (Scrollen): Es gibt folgende nützliche Befehle, die zusammen mit der Steuerungstaste verwendet werden können:
Befehle und ihre Beschreibung:
- CTRL+d : 1/2 Bildschirm vorwärts bewegen.
- CTRL+f : Einen Vollbildschirm vorwärts bewegen.
- STRG+u : 1/2 Bildschirm rückwärts bewegen.
- STRG+b : Einen Vollbildschirm rückwärts bewegen.
- STRG+e : Bewegt den Bildschirm eine Zeile nach oben.
- STRG+y : Bewegt den Bildschirm eine Zeile nach unten.
- CTRL+u : Bewegt den Bildschirm eine 1/2 Seite nach oben.
- CTRL+d : Bewegt den Bildschirm eine 1/2 Seite nach unten.
- CTRL+b : Bewegt den Bildschirm eine Seite nach oben.
- CTRL+f : Bewegt den Bildschirm eine Seite nach unten.
- CTRL+I : Zeichnet den Bildschirm neu.
Bearbeiten und Einfügen in Dateien (Text eingeben und ersetzen): Um die Datei zu bearbeiten, müssen wir uns im Einfügemodus befinden. Es gibt viele Möglichkeiten, den Einfügemodus vom Befehlsmodus aus zu erreichen.
- i : Fügt Text vor der aktuellen Cursorposition ein.
- I : Fügt Text am Anfang der aktuellen Zeile ein.
- a : Fügt Text nach der aktuellen Cursorposition ein.
- A : Fügt Text am Ende der aktuellen Zeile ein.
- o : Erzeugt eine neue Zeile für die Texteingabe unterhalb der Cursorposition.
- O : Erzeugt eine neue Zeile für die Texteingabe oberhalb der Cursorposition.
- r : Ersetzt einzelnes Zeichen unter dem Cursor durch das nächste getippte Zeichen.
- R : Ersetzt Text von der Cursorposition nach rechts.
- s : Ersetzt einzelnes Zeichen unter dem Cursor durch eine beliebige Anzahl von Zeichen.
- S :Ersetzt ganze Zeile.
Zeichen löschen: Hier ist die Liste der wichtigen Befehle, mit denen Sie Zeichen und Zeilen in einer geöffneten Datei löschen können.
- X Großbuchstaben: Löscht das Zeichen vor der Cursorposition.
- x Kleinbuchstaben : Löscht das Zeichen an der Cursorposition.
- Dw : Löscht von der aktuellen Cursorposition zum nächsten Wort.
- d^ : Löscht von der aktuellen Cursorposition zum Zeilenanfang.
- d$ : Löscht von der aktuellen Cursorposition zum Zeilenende.
- Dd : Löscht die Zeile, in der sich der Cursor befindet.
Kopier- und Einfügebefehle: Kopieren Sie Zeilen oder Wörter von einer Stelle und fügen Sie sie an einer anderen Stelle ein, indem Sie die folgenden Befehle verwenden.
- Yy : Kopiert die aktuelle Zeile.
- 9yy : Kopiert die aktuelle Zeile und 9 Zeilen darunter.
- p : Setzt den kopierten Text hinter den Cursor.
- P : Setzt den ausgelagerten Text vor den Cursor.
Speichern und Beenden der Befehle des ex-Modus : Sie müssen die Taste gefolgt vom Doppelpunkt (:) drücken, bevor Sie die folgenden Befehle eingeben:
- q : Beenden
- q! : Beenden ohne zu speichern, d.h. Änderungen verwerfen.
- r Dateiname : Daten aus Datei namens Dateiname lesen.
- wq : Schreiben und Beenden (speichern und beenden).
- w Dateiname : Schreiben in die Datei namens Dateiname (speichern unter).
- w! Dateiname : Überschreiben in die Datei namens Dateiname (zwangsweise speichern unter).
- !cmd : Führt Shell-Befehle aus und kehrt in den Befehlsmodus zurück.
Suchen und Ersetzen im (ex-Modus): vi verfügt auch über leistungsfähige Funktionen zum Suchen und Ersetzen. Die formale Syntax für das Suchen lautet:
:s/string
Angenommen, wir wollen in einem Text nach der Zeichenkette „geeksforgeeks“ suchen, dann geben Sie Folgendes ein und drücken ENTER:
:s/geeksforgeeks
Eingabe:
Ausgabe: Die erste Übereinstimmung für „geeksforgeeks“ im Text wird dann hervorgehoben.
Die Syntax zum Ersetzen einer Zeichenkette durch eine andere Zeichenkette in der aktuellen Zeile lautet:
:s/pattern/replace/
Hier steht „pattern“ für die alte Zeichenkette und „replace“ für die neue Zeichenkette. Um zum Beispiel jedes Vorkommen des Wortes „geeks“ in einer Zeile durch „geeksforgeeks“ zu ersetzen, geben Sie ein:
:s/geeksforgeeks/gfg/
Eingabe:
Ausgabe:
Die Syntax zum Ersetzen jedes Vorkommens einer Zeichenfolge im gesamten Text ist ähnlich. Der einzige Unterschied ist die Hinzufügung eines „%“ vor dem „s“:
:%s/pattern/replace/
Die Wiederholung des vorherigen Beispiels für den gesamten Text statt nur für eine einzelne Zeile wäre also:
:%s/gfg/geeksforgeeks/