Les registres "*
et "+
sont destinés au presse-papiers du système ( :help registers
). Selon votre système, ils peuvent faire différentes choses. Par exemple, sur les systèmes qui n'utilisent pas X11 comme OSX ou Windows, le "*
registre est utilisé pour lire et écrire dans le presse-papiers du système. Sur les systèmes X11, les deux registres peuvent être utilisés. Voir :help x11-selection
pour plus de détails, mais fondamentalement, "*
c'est analogue à la sélection PRIMAIRE de X11 (qui copie généralement les choses que vous sélectionnez avec la souris et colle avec le bouton central de la souris) et "+
est analogue à la sélection CLIPBOARD de X11 (qui est le presse-papiers proprement dit).
Si tout cela vous dépasse, essayez d'utiliser "*yy
ou "+yy
de copier une ligne dans le presse-papiers de votre système. En supposant que vous disposez des options de compilation appropriées, l'une ou l'autre devrait fonctionner. Vous voudrez peut-être remapper cela à quelque chose de plus pratique pour vous. Par exemple, vous pouvez mettre vnoremap <C-c> "*y
votre ~ / .vimrc pour pouvoir sélectionner visuellement et appuyer sur Ctrl+ cpour accéder au presse-papiers de votre système.
Sachez que copier / coller à partir du presse - papiers du système ne fonctionnera pas si :echo has('clipboard')
renvoie 0. Dans ce cas, vim n'est pas compilé avec la +clipboard
fonctionnalité et vous devrez installer une version différente ou la recompiler. Certaines distributions Linux fournissent une installation minimale de vim par défaut, mais généralement si vous installez le package vim-gtk
ouvim-gtk3
vous pouvez obtenir les fonctionnalités supplémentaires.
Vous voudrez peut-être aussi jeter un œil à l' 'clipboard'
option décrite à :help cb
. Dans ce cas, vous pouvez :set clipboard=unnamed
ou :set clipboard=unnamedplus
pour que toutes les opérations de tirage / suppression soient automatiquement copiées dans le presse-papiers du système. Cela peut être un inconvénient dans certains cas où vous stockez quelque chose d'autre dans le presse-papiers car il le remplacera.
Pour coller, vous pouvez utiliser "+p
ou "*p
(encore une fois, selon votre système et / ou la sélection souhaitée) ou vous pouvez les mapper à autre chose. Je les tape explicitement, mais je me retrouve souvent en mode insertion. Si vous êtes en mode insertion, vous pouvez toujours les coller avec une indentation appropriée en utilisant <C-r><C-p>*
ou <C-r><C-p>+
. Tu vois :help i_CTRL-R_CTRL-P
.
Il convient également de mentionner l' paste
option de vim ( :help paste
). Cela place vim dans un "mode de collage" spécial qui désactive plusieurs autres options, vous permettant de coller facilement dans vim à l'aide de votre émulateur de terminal ou du raccourci de collage familier du multiplexeur. Tapez simplement :set paste
pour l'activer, collez votre contenu, puis tapez :set nopaste
pour le désactiver. Alternativement, vous pouvez utiliser l' pastetoggle
option pour définir un code clé qui bascule le mode ( :help pastetoggle
). Je recommande d'utiliser des registres au lieu de ces options, mais s'ils sont encore trop effrayants, cela peut être une solution de contournement pratique pendant que vous perfectionnez vos côtelettes Vim.
Voir :help clipboard
pour plus d'informations.