In Vim Text Kopieren (incl. Zwischenablage): So Geht’s

In Vim Text Kopieren

Sie möchten Text aus Vim (auf der Kommandozeile) und in beliebige andere Anwendungen kopieren? Lernen Sie hier, wie Sie in Vim Text (in die System-Zwischenablage) kopieren können mit Mac, Windows und Linux.

Zuerst: Man beachte die einheitliche Benutzeroberfläche

Man beachte die einheitliche Benutzeroberfläche sowie die konsistenten Fehlermeldungen” schreibt Patrick J. LoPresti an einem wohl heißen Julitag im Jahr 1992 über den Unix Zeileneditor ed und den typischen ersten Umgang mit ihm:

golem$ ed

?
hilfe
?
?
?
beenden
?
ausschalten
?
baba
?
hallo?
?
geh sonstwohin
?
^C
?
^C
?
^D
?

Heute macht man den gleichen Witz natürlich über Vim (das als Nachfahre von vi mit ed verwandt ist).

Vorausgesetzt, Sie wissen, wie Sie Vim beenden können, versuchen wir stattdessen, Text daraus zu extrahieren, anstatt uns aus Vim… (Der Befehl unten zum Kopieren von Zeilen mit einem Befehlszeilentool funktioniert genauso in ed, dem Standardtexteditor.)

In Vim Text Kopieren (incl. System-Zwischenablage): So Wird’s Gemacht

Mit dem Zwischenablagen-Register *

Benötigte Zeit: 1 Minute

Um in Vim und Neovim Text in die System-Zwischenablage von Windows, Mac oder Linux zu kopieren, damit Sie ihn gleichsam überall einfügen können:

  1. Drücken Sie V für den visuellen Modus in Vim.

    „V“ führt nicht zum visuellen Auswahlmodus: Drücken Sie zunächst Esc, um jedenfalls den Einfügemodus zu verlassen.
    Es muss nicht visuell sein: Sie müssen natürlich nicht den visuellen Modus verwenden, um von Vim in die System-Zwischenablage zu kopieren; alle anderen Wege, um Text zu kopieren (yanken) funktionieren selbstredend auch (so zum Beispiel y3w, um drei Worte zu kopieren).

  2. Verwenden Sie die Bewegungstasten, um den Text auszuwählen, den Sie kopieren möchten.

    So geht’s: Drücken Sie J für runter, K für rauf, H für links, L für rechts, W, um ein Wort nach vor zu springen, B für ein Wort zurück, Umschalt G für die erste Zeile und G gefolgt von G für die letzte usw.

  3. Schreiben Sie nun "*y.

    Darum wird’s gemacht: Vim hat intern verschiedene Zwischenablagen (Register genannt), von denen einige eine spezielle Bedeutung haben. Um auf die System-Zwischenablage zuzugreifen, nutzen Sie "*, um das Register * (Stern) auszuwählen, das für die Zwischenablage steht. Schließlich kommt y, um den Text in das Register zu kopieren („yanken“).
    Kein Register für „*“: Beachten Sie, dass das Register * nur zur Verfügung steht, wenn Vim mit der Option clipboard kompiliert worden ist. Sie können dies überprüfen, indem Sie :version in Vim im normalen Modus eingeben, und nach +clipboard (System-Zwischenablage verfügbar) oder -clipboard (Zwischenablage nicht verfügbar) Ausschau halten.

Und nun: In Vim Text Einfügen (aus der Zwischenablage) — So Geht’s

Mit Kommandozeilen-Software

Um Text aus Vim und Neovim zu kopieren, falls das Register für die System-Zwischenablage nicht zur Verfügung steht:

  1. Drücken Sie Umschalt V für den zeilengebunden visuellen Modus in Vim.
    Umschalt V“ aktiviert den Modus nicht: Drücken Sie zuerst Esc, um in den normalen Modus zu wechseln.
    Immer Zeilen: Das Kopieren in die System-Zwischenablage aus Vim mit einem Kommandozeilentool funktioniert nur für ganze Zeilen.
  2. Nutzen Sie die Bewegungstasten, um die Zeilen auszuwählen, die Sie kopieren möchten.
  3. Drücken Sie :.
  4. Nun schreiben Sie das Kommando für Ihr Betriebssystem im Anschluss an :'<,'>, das schon in der Vim-Befehlszeile steht.
    macOS: Fügen Sie :w !pbcopy an.
    Windows: Schreiben Sie :w !clip.
    Linux: Fügen Sie :w !xclip -selection clipboard an.
    Beispiel: In Terminal auf einem Mac, die Befehlszeile in Vim beinhaltet nun '<,'> :w !pbcopy.
  5. Drücken Sie die Taste Eingabe.

In Vim Text Kopieren (incl. System-Zwischenablage): FAQ

Kann ich in Vim kopieren, ohne den visuellen Modus zu verwenden?

Ja.

Sie können jede Auswahl verwenden, die es Ihnen ermöglicht, in das Register * zu schreiben, um von Vim in die System-Zwischenablage zu kopieren.

Beispiel: Benutzen Sie :%y *, um das gesamte Dokument in die Zwischenablage zu kopieren.

Wie kann ich in der GUI-Version von Vim kopieren?

In Vim mit System-GUI (anstelle der Version für die Kommandozeile), können Sie mit der Maus Text auswählen und dann Bearbeiten | Kopieren im Menü auswählen. Daneben funktionieren die Kommandos oben.

(In Vim Text kopieren (incl. System-Zwischenablage) getestet mit Vim 9.0; aktualisiert im März 2024)

Home » Nützliche Technik » In Vim Text Kopieren (incl. Zwischenablage): So Geht’s