1103 Stimmen

Wie kann man Vim dazu bringen, aus der Zwischenablage des Systems einzufügen (und dorthin zu kopieren)?

Im Gegensatz zu anderen Editoren speichert vim kopierten Text in seiner eigenen Zwischenablage. Es ist also sehr schwierig für mich, einen Text von einer Webseite zu kopieren und ihn in die aktuelle Arbeitsdatei einzufügen. So kommt es, dass ich entweder gedit öffnen oder den Text manuell eintippen muss.

Kann ich vim dazu bringen, von und in die Zwischenablage des Systems einzufügen?

7voto

lovecraftian Punkte 71

Ein kurzer Hinweis für Leute, deren Vim-Installation nicht die * y + Register. Es ist nicht notwendig, eine neue Vim-Installation herunterzuladen, um aus der Zwischenablage einzufügen. Hier ist eine alternative Methode:

  1. Installieren Sie parcellite (ein Zwischenablage-Manager mit geringem Speicherbedarf);

  2. In Ihrem .vimrc fügen Sie Folgendes hinzu:

    command Clip r !parcellite -c
  3. Starten Sie vim neu.

Wenn Sie nun Folgendes eingeben :Clip als ex wird der Inhalt der Zwischenablage an der Einfügemarke eingefügt. Sie können den neuen Befehl auch einer Funktionstaste zuweisen, so dass Sie dies mit einem Tastendruck erledigen können.

7voto

Mohammed Rafeeq Punkte 2380

Wenn Sie eine Maus verwenden, machen Sie zuerst

 :set paste 

Dann right click mouse und der Inhalt des Puffers wird eingefügt

6voto

Boseam Punkte 145

Das funktioniert bei mir: Ctrl + Shift + V

4voto

NM Pennypacker Punkte 6274

Dieses Problem trat bei mir auf einem Macbook Pro aus der Mitte des Jahres 2017 auf. vim en iTerm2 als meine primäre Entwicklungsumgebung.

Wie bereits in anderen Antworten erwähnt, habe ich vim --version und stellte fest, dass er Folgendes zurückgibt -clipboard , was bedeutet, dass die Version von vim das mit meinem Rechner geliefert wurde, wurde nicht mit der Zwischenablage-Option kompiliert.

En homebrew Paket für vim kompiliert offenbar mit dem clipboard Option, also war die Lösung für mich:

  1. ausführen. brew install vim
  2. hinzufügen set clipboard+=unnamed zu meinem ~/.vimrc Datei
  3. Schließen und wieder öffnen iTerm2

4voto

barlop Punkte 11355

Im Anschluss an die Antwort von Conner, die großartig war, aber C-R C-p + y C-R C-p * im Einfügemodus ist etwas unpraktisch. Dasselbe gilt für "*p y "+p aus dem Befehlsmodus.

Ein VIM-Guru schlug vor, Folgendes abzubilden C-v zu was C-r C-p + tut.

Sie könnten :inoremap <C-v> <C-o>"+p nur für den Einfügemodus

Wenn Sie wirklich den visuellen Modus im Uhrzeigersinn außer Kraft setzen wollten (was er nicht empfiehlt, da der visuelle Modus gut ist), könnten Sie map <C-v> "+p

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X