Benutzer-Werkzeuge

Webseiten-Werkzeuge


puffer_als_zwischenablage_nutzen


Die Puffer des vim sind ein mächtiges Werkzeug um Zeilen oder ganze Textblöcke zwischen zwei oder mehreren Dateinen zu kopieren oder auszuschneiden (ähnlich Copy&Paste).


Einfache Aktionen zu Copy&Paste (Puffer)


Allgemeine Form
Beispiel
Erklärung des Befehls
Bemerkung
ESC yy aktuelle Zeile in den Puffer schreiben
ESC yw aktuelles Wort in den Puffer schreiben
ESC nyy ESC 10yy n Zeilen ab Cursorposition in den Puffer schreiben
ESC P Pufferinhalt oberhalb von der aktuellen Zeile einfügen
ESC p Pufferinhalt unterhalb von der aktuellen Zeile einfügen
ESC "pufferyy ESC "ayy kopiert die aktuelle Zeile in das Register „puffer“ (wobei Puffer von a-z bzw. 0-9 sein können)
ESC "pufferp ESC 1p fügt den Text aus den Register „puffer“ als nächste Zeile unterhalb der aktuellen ein
ESC 4,8m20 Zeile 4 bis 8 hinter Zeile 20 schieben (move)
ESC „pufferNy ESC "d4y 4 Leerzeilen in Puffer „d“ kopieren
ESC "pufferP ESC "dP einfügen von Puffer „d“ oberhalb des Cursor einfügen
ESC ddp vertausche die aktuelle Zeile mit der nachfolgenden
ESC 4yw kopiere 4 Wörter (ab Cursorposition) in den Puffer
ESC xp unter dem Cursor stehenden Buchstaben mit dem darauf folgenden vertauschen


Komplexere Aktionen zu Copy&Paste (Puffer)

Mehrere Zeilen an eine andere Stelle im Text kopieren

mehrere Zeilen (hier hinter Zeile 7) an eine andere Stelle im Text kopieren (zwischen Marke „x“ und „y“)

Allgemeine Form

ESC mx
Cursor bewegen ab der kopiert werden soll
my
:'x,'ytLetzte_Zeile_hinter_der_einfügt_werden_soll

Beispiel

ESC mx
my
'x,'yt7


Mehrere Zeilen an eine andere Stelle im Text verschieben

mehrere Zeilen (hier hinter Zeile 15) an eine andere Stelle im Text verschieben (zwischen Marke „x“ und „y“)

Allgemeine Form

ESC mx
Cursor bewegen ab der kopiert werden soll
my
 :'x,'ymLetzte_Zeile_hinter_der_einfügt_werden_soll

Beispiel

ESC mx
my
'x,'ym15


Text kopieren zwischen zwei Dateien

Beliebig viel Text kopieren zwischen zwei Dateien (hier 2 Zeilen).

Allgemeine Form

ESC "aNY
Cursor bewegen ab der kopiert werden soll
:e datei2
Cursor bewegen ab der eingefügt werden soll
"ap

Beispiel

ESC "a2Y
:e datei2
"ap


Text aus ein anderer Datei einfügen

Einen Ausschnitt aus anderer Datei in die aktuelle Datei hinein kopieren (Text zwischen zwei gesetzten Marken).

Allgemeine Form

ESC e datei2
zum Anfang des Ausschnittes bewegen
mk (Anfang markieren)
"ay'k (Ende markieren)
:e# (zurück zur Quelldatei)
bewegen zur Zielzeile
"ap 

Beispiel

ESC e datei2
mk
"ay'k
:e#
"ap 


Block aus einer Datei einfügen

Einen kopierten Textblock aus einer Datei in die ursprüngliche Datei einfügen.

Allgemeine Form

ESC e datei2
zum Anfang des Ausschnittes bewegen
mk (Anfang markieren)
"ad'k (Ende markieren und Zeilen zwischen den Markierungen k und Puffer a löschen)
ESC: e# (zur Quelldatei datei1)
bewegen zur Zielzeile
"ap

Beispiel

ESC e datei2
mk
"ad'k
ESC: e#
"ap


Ausschneiden und Einfügen in anderer Datei

Einen Textblock auschneiden, im Puffer zwischenspeichern und in zweiter Datei den eben abgespeicherten Puffer einfügen.

Allgemeine Form

ESC "PufferNdd (N Zeilen löschen und in Puffer a schreiben)
:w (abspeichern)
:e datei2 (zur Zieldatei)
bewegen zur Zielzeile
"Pufferp (Puffer p einfügen)

Beispiel

ESC "a5dd (5 Zeilen löschen und in Puffer a schreiben)
:w
:e datei2
"ap 


puffer_als_zwischenablage_nutzen.txt · Zuletzt geändert: 2020/01/24 09:10 von dwadmin