vi ist ein bekannter bildschirmorientierter Texteditor, der bis in die Anfänge von Unix zurückreicht. Das beeindruckendste Merkmal ist, dass es in zwei verschiedenen Modi betrieben werden kann.
Im Einfügemodus wird der Text Teil der Datei. Im normalen Modus werden Tastenanschläge als direkte Befehle verstanden. Daher werden verschiedene Tastaturbefehle verwendet, um den zum Bearbeiten einer Datei erforderlichen Arbeitsaufwand zu verringern.
Aber wenn die Befehle so unterschiedlich sind, ist es wirklich einfacher, Zeilen zu entfernen oder sie mit den Tastenbefehlen zu bearbeiten? - Lass es uns herausfinden.
Schneiden einer Linie oder eines Blocks
Schnellzugriff
- Schneiden einer Linie oder eines Blocks
-
-
- Positionieren Sie den Cursor vor der Textzeile, die Sie entfernen möchten
- Drücken Sie v und starten Sie eine visuelle Zeichenauswahl
- Drücken Sie V, wenn Sie ganze Zeilen auswählen möchten
- Drücken Sie Strg + v oder Strg + q, wenn Sie einen Block auswählen möchten
- Positionieren Sie den Cursor am Ende der Textzeile
- Drücken Sie zum Ausschneiden d
-
-
- Bearbeiten über eine Linie
- Mehrere Zeilen löschen
- Verwenden von Zeichen, Wörtern und Linien im normalen Modus
- dd
- x / X
- dw
- Ein letzter Gedanke
-
Positionieren Sie den Cursor vor der Textzeile, die Sie entfernen möchten
-
Drücken Sie v und starten Sie eine visuelle Zeichenauswahl
-
Drücken Sie V, wenn Sie ganze Zeilen auswählen möchten
-
Drücken Sie Strg + v oder Strg + q, wenn Sie einen Block auswählen möchten
-
Positionieren Sie den Cursor am Ende der Textzeile
-
Drücken Sie d, um zu schneiden
Wenn Sie diese Zeile jetzt an einer anderen Stelle einfügen möchten, bewegen Sie den Cursor einfach an die neue Position und drücken Sie p. Beachten Sie, dass durch Drücken von p die Zeile oder der Block nach der Cursorposition eingefügt wird. Wenn Sie vor der Cursorposition einfügen möchten, müssen Sie P drücken.
Bearbeiten über eine Linie
Sie können den ausgewählten Text auch ändern, indem Sie in Schritt 6 c drücken. Durch Drücken von d wird ausgeschnitten, durch Drücken von y wird gezerrt oder kopiert, und durch Drücken von c wird der Einfügemodus geöffnet, in dem Sie neuen Text hinzufügen können. Dies könnte Ihnen helfen, eine ganze Linie oder einen ganzen Block zu ersetzen, ohne sich zuerst mit dem Schneiden zu befassen.
Mehrere Zeilen löschen
Es gibt zwei gute Optionen, wenn Sie mehr als eine Zeile in vi löschen möchten.
“:%d”
Dieser Befehl löscht alle Zeilen. Das ':' versetzt vi in den Befehlsmodus. Das Zeichen '%' weist es an, den Befehl 'd' (Löschen) auf alle Zeilen anzuwenden.
“:1, $d”
Dies ist die beliebteste Alternative. Auch hier führt das ':' einen Befehl ein. '1, $' teilt vi mit, auf welche Zeilen abgezielt werden soll. In diesem Beispiel sind es die Zeilen, die mit Zeile 1 beginnen und die letzte. 'd' steht für löschen.
Aber was macht diesen Befehl besser als den ersten? - Dieser ist anpassungsfähig. Sie können damit mehrere Zeilen gleichzeitig löschen, ohne dass Sie alle löschen müssen.
Wenn Sie etwas wie “:4, $-2d”
, löscht vi alle Zeilen zwischen dem dritten und vorletzten. Die ersten drei Zeilen bleiben intakt, da die Zeilen mit 1 und nicht mit 0 beginnen. Außerdem geben Sie die erste zu löschende Zeile an, in diesem Beispiel 4.
Das '-2' repräsentiert im Grunde genommen, wie viele Zeilen von der letzten bis zur 1 zurückzählen.
Verwenden von Zeichen, Wörtern und Linien im normalen Modus
Stellen Sie zunächst sicher, dass Sie die Esc-Taste drücken, um in den normalen Modus zu wechseln. Danach können Sie die folgenden vi-Befehle verwenden, um bestimmte Informationen zu löschen.
dd
Dieser Befehl löscht eine ganze Zeile. Sie können den Cursor an einer beliebigen Stelle in der Zeile positionieren, unabhängig davon, ob es sich um ein Wort oder eine leere Stelle handelt. Die Zeile und der gesamte belegte Platz werden gelöscht.
x / X
Wenn Sie nur ein Zeichen aus einer Zeile entfernen möchten, können Sie x verwenden. Positionieren Sie den Cursor nach einem Zeichen und drücken Sie x. Dies entfernt das Zeichen und auch den Platz, den es einnimmt. Dies bedeutet auch, dass alle anderen Zeichen in der Nähe zusammenkommen, um die Lücke zu füllen.
Sie können auch x verwenden, um ein Leerzeichen in einer Zeile zu löschen. Wenn Sie mit der Maus über ein Zeichen fahren und das vorhergehende entfernen möchten, drücken Sie X anstelle von x.
dw
Wenn Sie dw drücken, während sich der Cursor am Anfang eines Wortes befindet, wird dieses Wort gelöscht. Dadurch wird auch der vom Wort belegte Platz entfernt. Alternativ können Sie auch nur Teile eines Wortes entfernen.
Positionieren Sie den Cursor auf der linken Seite des Teils, den Sie löschen möchten. Drücken Sie dw, um diese Zeichen und den von ihnen belegten Platz in der Zeile zu entfernen. Denken Sie daran, dass dabei die benachbarten Zeichen zusammengeführt werden, um die Lücke zu füllen.
Ein letzter Gedanke
So interessant und einzigartig vi auch als modaler Editor ist, es dauert eine Weile, bis man sich daran gewöhnt hat. Beim Umschalten zwischen den Modi gibt es nur sehr wenige Rückmeldungen. Dies macht es sehr einfach, versehentlich Code-Text einzugeben, wenn Sie einen Befehl geben sollten, und umgekehrt.
