Wie kopiere ich Text in Vim und füge ihn an anderer Stelle ein?

Melden
  1. Grundlagen des Kopierens (Yank) in Vim
  2. Textbereiche kopieren
  3. Einfügen des kopierten Textes
  4. Beispiel: Schritt für Schritt
  5. Weitere Hinweise
  6. Zusammenfassung

Grundlagen des Kopierens (Yank) in Vim

In Vim wird das Kopieren von Text als Yank bezeichnet. Dabei wird der gewünschte Text in einen sogenannten Register gespeichert, um ihn später einzufügen. Der Grundmodus zum Navigieren und Bearbeiten in Vim ist der Normalmodus. Um Text zu kopieren, musst du dich zunächst in diesem Modus befinden. Falls du im Einfügemodus bist, kannst du mit der Esc-Taste in den Normalmodus wechseln.

Beispiel: Um eine einzelne Zeile zu kopieren, positionierst du den Cursor auf die Zeile und gibst yy ein. Dies heißt yank line und kopiert die komplette Zeile in das Standardregister.

Textbereiche kopieren

Wenn du nicht nur eine ganze Zeile, sondern mehrere Zeilen oder einen bestimmten Textabschnitt kopieren möchtest, kannst du verschiedene Befehle und Bewegungen nutzen. Möchtest du beispielsweise zehn Zeilen kopieren, kannst du 10yy eingeben. Dies kopiert die aktuelle und die neun folgenden Zeilen.

Willst du nur einen bestimmten Teil innerhalb einer Zeile kopieren, kannst du in den visuellen Modus wechseln, indem du v drückst. Mit den Pfeiltasten oder anderen Bewegungsbefehlen markierst du den gewünschten Textabschnitt. Sobald die Markierung gesetzt ist, drückst du y, um diesen Textbereich zu kopieren.

Für einen Blockmarkierungsmodus, also das Markieren mehrerer Spalten eines Bereichs, verwendest du Ctrl + v. Auch hier kannst du den Bereich mit den Pfeiltasten oder Tastenbewegungen markieren und anschließend mit y kopieren.

Einfügen des kopierten Textes

Nachdem du den gewünschten Text in einem Register gespeichert hast, kannst du ihn an einer anderen Stelle wieder einfügen. Positioniere dich mit dem Cursor an die gewünschte Stelle im Text und drücke p, um den Text hinter dem Cursor (nach dem aktuellen Zeichen) einzufügen. Möchtest du den Text vor dem Cursor (also direkt vor dem Zeichen) einfügen, verwendest du P (Großbuchstabe).

Wenn du im Einfügemodus bist (i gedrückt hast), musst du zunächst wieder in den Normalmodus wechseln (Esc), da die Befehle zum Einfügen im Normalmodus ausgeführt werden.

Beispiel: Schritt für Schritt

Angenommen, du möchtest eine Zeile kopieren und unter einer anderen Zeile einfügen:

# Cursor steht in Zeile 5yy # kopiert die aktuelle Zeile (Zeile 5)# Cursor bewegt sich zu Zeile 10p # fügt die kopierte Zeile hinter der Zeile 10 ein

Wenn du einen bestimmten Textblock innerhalb einer Zeile kopieren möchtest, gehst du wie folgt vor:

v # starte den visuellen Modus# bewege den Cursor, um Text zu markiereny # kopiere den ausgewählten Text# bewege den Cursor zur Einfügepositionp # füge den Text hinter dem Cursor ein

Weitere Hinweise

Vim verfügt über verschiedene Register, in denen Text zwischengespeichert werden kann. Standardmäßig wird das unnamed-Register verwendet. Es ist auch möglich, Text in bestimmte benannte Register zu kopieren und einzufügen, was aber für Anfänger nicht zwingend notwendig ist.

Zusätzlich hängt das Verhalten von Vim auf verschiedenen Systemen ab. In manchen Umgebungen, zum Beispiel bei der Nutzung von Vim im Terminal oder über SSH, ist es nicht möglich, direkt auf die Zwischenablage des Betriebssystems zuzugreifen. Dann kann das Kopieren und Einfügen innerhalb von Vim automatisch funktionieren, jedoch nicht mit außerhalb von Vim eingefügtem Text. In GUI-Versionen wie gVim oder neovim mit entsprechender Konfiguration stehen meist auch Befehle wie "+y (Kopieren in die Systemzwischenablage) zur Verfügung.

Zusammenfassung

Das Kopieren und Einfügen von Text in Vim basiert auf folgenden Befehlen: yy für das Kopieren von Zeilen, v und y für visuelles Auswählen und Kopieren von Text und p bzw. P zum Einfügen an der gewünschten Stelle. Der Umgang mit diesen Befehlen erfordert am Anfang etwas Übung, ist aber sehr effizient und gehört zu den wichtigsten Grundlagen im Umgang mit Vim.

0

Kommentare