Beachten Sie, dass das Kopieren/Einfügen aus der Systemzwischenablage wird nicht funktionieren, wenn :echo has('clipboard')
gibt 0 zurück . In diesem Fall wird vim nicht mit der +clipboard
und Sie müssen eine andere Version installieren oder sie neu kompilieren. Einige Linux-Distributionen liefern standardmäßig eine minimale Vim-Installation, aber wenn Sie installieren Sie die vim-gtk
o vim-gtk3
Paket können Sie dennoch die zusätzlichen Funktionen nutzen.
En "*
y "+
Register sind für die Zwischenablage des Systems ( :help registers
). Abhängig von Ihrem System können sie unterschiedliche Aufgaben haben. Auf Systemen, die kein X11 verwenden, wie OSX oder Windows, kann die "*
Register wird zum Lesen und Schreiben in die Systemzwischenablage verwendet. Auf X11-Systemen können beide Register verwendet werden. Siehe :help x11-selection
für weitere Details, aber im Grunde ist die "*
ist analog zu X11s _PRIMARY_
Auswahl (die normalerweise Dinge kopiert, die Sie mit der Maus auswählen und mit der mittleren Maustaste einfügen) und "+
ist analog zu X11s _CLIPBOARD_
(das ist die eigentliche Zwischenablage).
Wenn Sie das alles nicht verstanden haben, versuchen Sie es mit "*yy
o "+yy
um eine Zeile in die Zwischenablage Ihres Systems zu kopieren. Vorausgesetzt, Sie haben die entsprechenden Kompilieroptionen, sollte das eine oder das andere funktionieren.
Vielleicht möchten Sie dies in etwas umwandeln, das für Sie bequemer ist. Zum Beispiel könnten Sie vnoremap <C-c> "*y
in Ihrem ~/.vimrc
so dass Sie visuell auswählen und drücken können Ctrl + c um sie in die Zwischenablage Ihres Systems zu kopieren.
Vielleicht möchten Sie auch einen Blick auf die 'clipboard'
Option beschrieben in :help cb
. In diesem Fall können Sie :set clipboard=unnamed
o :set clipboard=unnamedplus
um alle Löschvorgänge automatisch in die Zwischenablage des Systems zu kopieren. Dies könnte in einigen Fällen, in denen Sie etwas anderes in der Zwischenablage speichern, zu Unannehmlichkeiten führen, da die Zwischenablage dadurch überschrieben wird.
Zum Einfügen können Sie verwenden "+p
o "*p
(wiederum abhängig von Ihrem System und/oder der gewünschten Auswahl) oder Sie können diese auf etwas anderes übertragen. Ich gebe sie explizit ein, aber ich befinde mich oft im Einfügemodus. Wenn Sie sich im Einfügemodus befinden, können Sie sie trotzdem mit der richtigen Einrückung einfügen, indem Sie <C-r><C-p>*
o <C-r><C-p>+
. 見る :help i_CTRL-R_CTRL-P
.
Es ist auch erwähnenswert, dass vim's paste
Option ( :help paste
). Dies versetzt vim in einen speziellen "Einfügemodus" die mehrere andere Optionen deaktiviert, so dass Sie einfach in vim einfügen können, indem Sie die bekannte Tastenkombination Ihres Terminalemulators oder Multiplexers zum Einfügen verwenden. (Geben Sie einfach :set paste
um sie zu aktivieren, fügen Sie Ihren Inhalt ein und geben dann :set nopaste
um sie zu deaktivieren). Alternativ können Sie auch die pastetoggle
können Sie einen Schlüsselcode festlegen, mit dem der Modus umgeschaltet wird ( :help pastetoggle
).
Ich empfehle die Verwendung von Registern anstelle dieser Optionen, aber wenn sie immer noch zu furchterregend sind, kann dies eine bequeme Lösung sein, während Sie Ihre Vim-Kenntnisse perfektionieren.
Siehe :help clipboard
für ausführlichere Informationen.