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?

2voto

Nobu Punkte 9397

Oben auf der Einstellung :set clipboard=unnamed sollten Sie verwenden mvim -v die Sie erhalten können mit brew install macvim wenn Sie vim auf Terminal.app unter Mac OS X 10.9 verwenden. Standardmäßig unterstützt vim die Option Zwischenablage nicht.

2voto

Volodymyr Boiko Punkte 1466

Eine weitere Möglichkeit des Einfügens besteht darin, die "cat"-Ausgabe zu "lesen":

:r!cat

Dadurch wird cat im Vordergrund ausgeführt, so dass Sie an das Terminal senden können, was Sie in die Zwischenablage einfügen oder dort haben möchten. Wenn Sie fertig sind, drücken Sie ctrl+d, um den Stream zu beenden.

Der Vorteil ist, dass Sie sich nicht um die Einrückung kümmern müssen - der Text wird so eingefügt, wie er ist. Beachten Sie, dass an der Stelle von cat ein beliebiger Befehl stehen kann, wie z. B. fold (ich habe diesen verwendet, bis ich gq entdeckt habe) oder ein anderes Filterprogramm.

Obwohl das '+'-Register anscheinend ansprechender ist, funktioniert es nicht auf allen Plattformen, während r!cat einfach funktioniert.

'w'rite kann verwendet werden, um eine Auswahl/einen Bereich an die stdin eines externen Programms zu leiten, z.B. für das X-System zum Kopieren in die Zwischenablage:

`<,`>:w !xsel -ib

(d.h. eine visuelle Auswahl treffen und eingeben :w !xsel -ib )

1voto

Scott Wade Punkte 476

Was Sie wirklich brauchen, ist EasyClip . Es wird genau das tun und noch viel mehr...

1voto

user1898814 Punkte 11

Es gibt zwei einfache Möglichkeiten, dies zu tun. Erstellen Sie Ihre Datei im Einfügemodus und 1) drücken Sie die mittlere Taste (das Scrollrad) Ihrer Maus, oder 2) Strg + Umschalttaste + V

1voto

B-30 Punkte 303

Es mag auch erwähnenswert sein, dass Sie unter OSX mit Vim Text mit der Maus markieren und mit Cmd-C in die OSX-Systemzwischenablage kopieren können, und der kopierte Text wird in der Zwischenablage außerhalb von Vim verfügbar sein.

Mit anderen Worten: OSX behandelt es wie ein normales Fenster, und hier kommt die viel gescholtene Apple "Command"-Taste ins Spiel.

B-30

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