Ihren Angaben zufolge möchten Sie:
- Ziehen Sie die aktuelle Zeile und die zwei Zeilen darunter in den aktuellen Puffer,
- öffne einen leeren Puffer in einem neuen horizontalen Split und
- fügen Sie diese drei Zeilen in den leeren Puffer ein.
Ist das richtig?
Was ich nicht verstehe, ist, warum Sie es im Ex-Modus tun möchten, während es im normalen Modus so einfach ist (und funktioniert):
3yy
:new<cr>
p
Ich glaube, Sie verwirren ex Modus, zugänglich mit Q
und Befehl Modus, zugänglich mit :
. Sie verwechseln wahrscheinlich auch den :p[rint]
Befehl und den :pu[t]
Befehl.
Führen Sie Folgendes von normal aus Modus:
:.,+2y|new|put!
Es kann hilfreich sein zu wissen, dass Sie diese drei Zeilen auch direkt in eine Datei schreiben können mit:
:.,+2w filename
Sie können eine der folgenden Methoden verwenden, um aus der Zwischenablage in Vim zu kopieren:
" + p
" * p
SHIFT EINFÜGEN
Welche Sie verwenden, hängt von Ihrer Umgebung ab.
Wenn Sie gVim oder MacVim verwenden, benötigen Sie "+p
Wenn Sie Vim von der Befehlszeile aus verwenden, benötigen Sie "*p
Wenn Sie sich im Einfügemodus oder im Ex-Modus befinden (glaube ich), verwenden Sie SHIFT EINFÜGEN
Mit einfügen meine ich den Schlüssel über HOME , BILD AUF , und LÖSCHEN
Erklärung:
"
bedeutet, dass Sie ein Register angeben werden- es gibt 26 benutzerdefinierte Register - 1 für jeden Buchstaben
- es gibt viele andere Register (siehe hier)
+
oder"
bezieht sich auf den unbenannten Puffer , die die Zwischenablage des Systems darstelltp
ist der normale Put-Befehl
Weitere Informationen zu Puffern:
Wenn Sie möchten, können Sie unterschiedlichen Text in unterschiedlichen Puffern speichern.
Um 3 Zeilen in den Puffer namens x zu ziehen Verwenden Sie dies:
"x3yy
Um den Inhalt des Puffers namens y einzufügen über dem Cursor:
"yP