In Vim Text Einfügen aus der Zwischenablage: So Geht’s

In Vim Text aus der Zwischenablage Einfügen

Sie möchten eine URI aus dem Browser einfügen oder Text aus einem Textdokument? Lernen Sie hier, wie Sie in Vim und Neovim Text einfügen können, sowohl innerhalb des Editors als auch aus der System-Zwischenablage (unter Windows, Mac und Linux).

Zuerst: Die Zeit ist eine Blume

Wenn eine Uhr das idealisierte Abbild planetarer Bewegung ist und die idealisierte Bewegung der Planeten in blumigen Kreisen ihr Abbild findet, wie wäre es mit einer Uhr, die Kreise innert Kreisen nutzt, um das Vergehen der Zeit zu zeigen?

Den Sekundenzeiger am Minuten- und dann am Stundenzeiger macht Sophie Houldens Epizykeluhr gerade das und verwandelt Zeit in ein blühende Pflanze.

Da nun Kreise in Kreise eingefügt sind und die Zeit in sich selbst, wie wäre es damit, Text in Vim einzufügen?

In Vim Text aus der Zwischenablage Einfügen: So Wird’s Gemacht

Benötigte Zeit: 1 Minute

Um in Vim (oder Neovim) unter Windows, Mac und Linux Text aus der Zwischenablage einzufügen:

  1. Platzieren Sie den Cursor in Vim dort, wo der Text eingefügt werden soll.

    Wissen, was wird: Siehe unten für eine Möglichkeit, eine Vorschau auf den Text, der eingefügt wird, zu bekommen.

  2. Wechseln Sie in den normalen Modus von Vim.

    So geht’s: Drücken Sie Esc, um den Einfügemodus zu verlassen und in den normalen Modus zu wechseln.
    Nur fürs Einfügen: Drücken Sie im Einfügemodus Strg O, um für ein einzelnes Kommando — in dem Fall das Einfügen — in den normalen Modus zu wechseln.

  3. Schreiben Sie "*.

    Darum funktioniert’s: Dies wählt das spezielle Register * (Stern) aus; dieses entspricht der System-Zwischenablage.
    Kein Sternregister: Die Zwischenablage ist nur verfügbar, wenn Vim dafür kompiliert worden ist. Sie können dies überprüfen, indem Sie im normalen Modus das Kommando :version ausführen und nach +clipboard Ausschau halten.

  4. Drücken Sie nun P , um Text aus der Zwischenablage einzufügen nach dem Zeichen, auf dem aktuell der Eingabefokus liegt.

    Vor dem Cursor: Drücken Sie stattdessen Umschalt P, um den Text vor der aktuellen Cursorposition einzufügen.
    Den Cursor bewegen: Sie können Vim auch instruieren, nach dem Einfügen den Cursor an das Ende des eingefügten Textes zu bewegen; stellen Sie dazu vor P oder Umschalt P die Taste G.
    Beispiel: "*gP fügt den Inhalt der Zwischenablage nach dem Cursor ein und bewegt den Cursor auf den Platz direkt hinter dem eingefügten Text.

Mit dem Vim Einfügemodus (Paste) und Vim mit Graphischer Benutzeroberfläche

Um in Vim oder Neovim Text aus der System-Zwischenablage mit dem Paste-Modus einzufügen:

  1. Schalten Sie den Einfügemodus in Vim oder Neovim ein.
    So geht’s: Drücken Sie Esc für den normalen Modus, schreiben Sie :set paste und drücken Sie Eingabe.
    Vim mit graphischer Benutzeroberfläche: In Vim mit graphischer Benutzeroberfläche (also nicht in einem Terminal) müssen Sie den Einfügemodus nicht einschalten; das Einfügen funktioniert hier ohne diesen Modus problemlos.
  2. Platzieren Sie den Textcursor dort, wo Sie den Text aus der Zwischenablage einfügen möchten.
  3. Wechseln Sie zum Eingabemodus.
    So geht’s: Drücken Sie zum Beispiel I, um vor dem aktuellen Zeichen einzufügen, A für nach dem aktuellen Zeichen oder auch O fürs Einfügen in einer neuen Zeile unter der aktuellen.
  4. Fügen Sie Text von der Zwischenablage über die Kommandozeilen- oder Terminal-Anwendung ein.
    Rechtsklick: Oft lässt der Rechtsklick auf die Anwendung ein Kontextmenü mit einem Einfügen-Kommando erscheinen.
    Menü: Typischerweise gibt es in der Terminal-Anwendung auch ein Menü, das die Option beinhaltet.
  5. Drücken Sie Esc für den normalen Modus in Vim.
  6. Schalten Sie den Einfügemodus wieder aus.
    So geht’s: Schreiben Sie :set nopaste und drücken Sie Eingabe.

In Vim Text aus Vim Selbst Einfügen

Um in Vim Text einzufügen, den Sie in Vim vorher kopiert („geyankt“) haben:

  • Drücken Sie P im normalen Modus in Vim, um nach dem Cursor den zuletzt kopierten oder gelöschten Text einzufügen und Umschalt P, um vor dem Cursor einzufügen.
    Cursor bewegen: Um den Cursor hinter den eingefügten Text zu platzieren, stellen Sie G voran; gP fügt zum Beispiel nach dem Cursor ein und bewegt den Cursor hinter den eingefügten Text.
    Mehrere Zwischenablagen: Vim und Neovim unterstützen mehrere und definierbare Zwischenablagen. Um aus einem Register Text einzufügen, drücken Sie " gefolgt vom Namen des Registers gefolgt vom Kommando zum Einfügen.
    Beispiel: Nutzen Sie "ap im normalen Modus, um aus dem Register a den Text einzufügen.

In Vim den Inhalt von Zwischenablagen (Registern) Ansehen

Um in Vim eine Vorschau zu bekommen, was aus den einzelnen Registern eingefügt würde:

  1. Wechseln Sie zum normalen Modus in Vim.
    So geht’s: Drücken Sie im Normalfall Esc.
  2. Schreiben Sie :registers, um alle Register (Zwischenablagen) mit ihrem jeweiligen Inhalt anzuzeigen.
    Nur eines: Verwenden Sie :register <Name>, um nur das Register mit dem Namen <Name> anzuzeigen; mögliche Register finden Sie unten.
    Beispiel: Schreiben Sie :register *, um die System-Zwischenablage anzuzeigen.
  3. Drücken Sie Eingabe.

Wichtige Vim Register

Vim register nameContents
* oder +Die System-Zwischenablage (unter X11 meint * die primäre Auswahl und + die Zwischenablage)
Der zuletzt kopierte (geyankte) oder gelöschte Text (Standard, wenn kein Register ausgewählt ist)
0Der zuletzt kopierte Text
1Der zuletzt gelöschte oder geänderte Text
2–9Zuvor gelöschter oder geänderter Text (mit jeder Aktion successive nach oben verschoben)
a–zDie manuellen Register (mit "a bis "z verwendet)
:Das zuletzt in der Kommandozeile verwendete Kommando (beginnend mit :)
.Der zuletzt eingefügte Text
/Das zuletzt verwendete Suchmuster

In Vim Text aus der Zwischenablage Einfügen: FAQ

Mein Vim unterstützt die Zwischenablage nicht. Kann ich vom System Text einfügen?

Ja.

Auch ohne direkte Unterstützung für die Systemzwischenablage können Sie in Vim Text aus dieser einfügen:

  1. Positionieren Sie den Textcursor, wo in Vim der Text aus der Zwischenablage eingefügt werden soll.
    Neue Zeile: Der Text wird im Normalfall als neue Zeile eingefügt. Es ist also ratsam, die Zeile vorübergehend an der gewünschten Stelle umzubrechen.
  2. Tippen Sie "= im normalen Modus.
    Darum das: Dies wählt das Kommandoregister aus, um das Ergebnis des folgenden Kommandos zum Einfügen entgegenzunehmen.
  3. Schreiben Sie nun system('<Kommando>') und ersetzten Sie dabei <Kommando> mit dem Folgenden abhängig von Ihrem Betriebssystem:
    Windows: Nutzen Sie powershell get-clipboard (vorausgesetzt, Windows PowerShell ist installiert).
    macOS: Nutzen Sie pbpaste.
    Linux: Nutzen Sie xclip -o -sel clip (mit Xclip installiert).
    Beispiel: Unter Windows, die Kommandoziele ist =system('powershell get-clipboard').
  4. Drücken Sie Eingabe.
  5. Drücken Sie nun P, um unter der aktuellen Zeile den Text einzufügen (und Umschalt P, um die Zwischenablage darüber einzufügen).
    So geht’s auch: Diese Method ist nur eine unter vielen, die alle dasselbe Ziel erreichen.
  6. Optional: Drücken Sie J, um die Zeilen wieder zusammenzufügen.

(In Vim Text aus der Zwischenablage einfügen getextet mit Vim 9.0–9.1 und Neovim 0.9.5; aktualisiert im April 2024)

Home » Nützliche Technik » In Vim Text Einfügen aus der Zwischenablage: So Geht’s