Die Register "*
und "+
befinden sich in der Zwischenablage des Systems ( :help registers
). Abhängig von Ihrem System können sie unterschiedliche Aufgaben ausführen. Auf Systemen, die X11 nicht verwenden, wie OSX oder Windows, wird das "*
Register beispielsweise zum Lesen und Schreiben in die Systemzwischenablage verwendet. Auf X11-Systemen können beide Register verwendet werden. Sehen Sie :help x11-selection
für weitere Details, aber im Grunde das "*
ist analog zu X11 PRIMARY Auswahl (die in der Regel Kopien Dinge , die Sie wählen mit der Maus und Pasten mit der mittleren Maustaste) und "+
ist analog zu X11 ZWISCHENABLAGE Auswahl (die Zwischenablage richtig ist).
Wenn alles , was den Kopf ging, versuchen Sie es mit "*yy
oder "+yy
eine Zeile Ihres Systems Zwischenablage zu kopieren. Vorausgesetzt, Sie haben die entsprechenden Kompilierungsoptionen, sollte die eine oder andere funktionieren. Vielleicht möchten Sie dies einem für Sie bequemeren Element zuordnen. Sie können beispielsweise vnoremap <C-c> "*y
~ / .vimrc eingeben, um visuell auszuwählen und Ctrl+ czu drücken, um in die Zwischenablage Ihres Systems zu ziehen.
Beachten Sie, dass das Kopieren / Einfügen aus der System-Zwischenablage nicht funktioniert, wenn :echo has('clipboard')
0 zurückgegeben wird. In diesem Fall wird vim nicht mit der +clipboard
Funktion kompiliert und Sie müssen eine andere Version installieren oder neu kompilieren. Einige Linux-Distributionen bieten standardmäßig eine minimale VIM-Installation. Wenn Sie jedoch das Paket vim-gtk
oder installieren vim-gtk3
, erhalten Sie im Allgemeinen die zusätzlichen Funktionen.
Vielleicht möchten Sie auch einen Blick auf die unter 'clipboard'
beschriebene Option werfen :help cb
. In diesem Fall können :set clipboard=unnamed
oder können Sie :set clipboard=unnamedplus
alle Ruck- / Löschvorgänge automatisch in die Systemzwischenablage kopieren. Dies kann in einigen Fällen eine Unannehmlichkeit sein, wenn Sie etwas anderes in der Zwischenablage speichern, da es es überschreibt.
Zum Einfügen können Sie "+p
oder "*p
(je nach System und / oder gewünschter Auswahl) verwenden oder diese einem anderen Element zuordnen. Ich tippe sie explizit ein, befinde mich aber oft im Einfügemodus. Wenn Sie sich im Einfügemodus befinden, können Sie sie mit <C-r><C-p>*
oder mit der richtigen Einrückung einfügen <C-r><C-p>+
. Siehe :help i_CTRL-R_CTRL-P
.
Erwähnenswert ist auch die paste
Option von vim ( :help paste
). Dadurch wird vim in einen speziellen "Einfügemodus" versetzt, der mehrere andere Optionen deaktiviert, sodass Sie mit Ihrem Terminalemulator oder der bekannten Einfügeverknüpfung des Multiplexers problemlos in vim einfügen können. Geben :set paste
Sie einfach ein , um es zu aktivieren, fügen Sie Ihren Inhalt ein und geben Sie dann ein :set nopaste
, um ihn zu deaktivieren. Alternativ können Sie die pastetoggle
Option verwenden, um einen Schlüsselcode festzulegen, der den Modus umschaltet ( :help pastetoggle
). Ich empfehle, anstelle dieser Optionen Register zu verwenden, aber wenn sie immer noch zu beängstigend sind, kann dies eine bequeme Problemumgehung sein, während Sie Ihre Vim-Chops perfektionieren.
Siehe :help clipboard
für weitere Informationen.