Wie funktioniert Copy und Paste im Editor vi?

Melden
  1. Die Modi in vi: Normal- und Einfügemodus
  2. Text kopieren mit vi: Yank-Befehl
  3. Text einfügen mit vi: Paste-Befehl
  4. Text ausschneiden (Cut) und Zusammenhang mit Copy-Paste
  5. Copy-Paste zwischen vi und der Systemzwischenablage
  6. Zusammenfassung

Der Texteditor vi ist ein mächtiges und weit verbreitetes Werkzeug in der Unix- und Linux-Welt. Er unterscheidet sich grundlegend von typischen grafischen Editoren, was die Bedienung betrifft, insbesondere beim Thema Copy und Paste. Diese Funktionalität, die in modernen Editoren oft intuitiv und visuell erfolgt, erfordert in vi ein Verständnis der Grundkonzepte von Modi und Befehlen.

Die Modi in vi: Normal- und Einfügemodus

Vi arbeitet hauptsächlich mit zwei Modi: dem sogenannten Normalmodus, in dem Befehle eingegeben und Texte manipuliert werden, und dem Einfügemodus, in dem der Benutzer Text eingeben kann. Für Copy und Paste ist hauptsächlich der Normalmodus relevant. Um in den Normalmodus zu gelangen, drückt man die Esc-Taste, falls man sich im Einfügemodus befindet.

Text kopieren mit vi: Yank-Befehl

Das Kopieren von Text in vi wird mit dem Befehl y (steht für yank) durchgeführt. Anders als bei klassischen Copy-Operationen markiert man beim vi nicht einfach einen Bereich mit der Maus, sondern nutzt Befehle, um den gewünschten Text zu bestimmen. Beispielsweise kopiert yy eine ganze Zeile in den Zwischenspeicher (Clipboard). Um mehrere Zeilen zu kopieren, schreibt man etwa 3yy für drei Zeilen. Für das Kopieren von Absätzen oder spezifischen Textteilen kann man Bewegungsbefehle kombinieren, etwa y$ (kopiert vom Cursor bis zum Zeilenende).

Text einfügen mit vi: Paste-Befehl

Das Einfügen des kopierten Textes geschieht mit dem Befehl p, der den Inhalt aus dem vi-internen Zwischenspeicher hinter dem Cursor einfügt. Wenn man den Text vor dem Cursor einfügen möchte, verwendet man P (großes P). Dabei bezieht sich der Zwischenspeicher auf den Text, der zuletzt mit yank oder cut gespeichert wurde.

Text ausschneiden (Cut) und Zusammenhang mit Copy-Paste

Zusätzlich zum Kopieren gibt es in vi den Befehl zum Ausschneiden, der als d (für delete) bekannt ist. Beispielweise löscht dd eine ganze Zeile und legt sie gleichzeitig im Zwischenpuffer ab. Somit kann man den gelöschten Text danach mit p wieder an anderer Stelle einfügen, was dem klassischen Ausschneiden und Einfügen entspricht. In Verbindung mit yank und paste lassen sich so Texte sehr flexibel bearbeiten.

Copy-Paste zwischen vi und der Systemzwischenablage

Standardmäßig verwendet vi einen internen Zwischenspeicher, der unabhängig von der Systemzwischenablage ist. Soll man Inhalte aus vi in andere Programme kopieren oder aus externen Programmen in vi einfügen, benötigt man spezielle Mechanismen. In modernen Varianten wie vim gibt es Register wie "+ und "*, die die systemweite Zwischenablage ansprechen. Zum Beispiel kopiert der Befehl "+y den markierten Text in die Systemzwischenablage, sodass er auch außerhalb von vim verfügbar ist. Ebenso kann man mit "+p den Inhalt der Systemzwischenablage in vi einfügen.

Zusammenfassung

Das Copy-Paste-Verfahren in vi unterscheidet sich durch seine Befehlsorientierung deutlich von grafischen Editoren. Durch die Verwendung von yank und delete zum Kopieren und Ausschneiden sowie put zum Einfügen ist ein sehr effizienter und leistungsfähiger Workflow möglich. Das System erfordert ein Umdenken beim Umgang mit Text, bietet dafür aber enorme Flexibilität und Geschwindigkeit. Für die Zusammenarbeit mit der Systemzwischenablage sind erweiterte vi-Varianten oder externe Tools hilfreich.

0

Kommentare