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-selectionfü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 "*yyoder "+yyeine 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 +clipboardFunktion 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-gtkoder 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=unnamedoder können Sie :set clipboard=unnamedplusalle 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 "+poder "*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 pasteOption 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 pasteSie 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 pastetoggleOption 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 clipboardfür weitere Informationen.