Le site "*
et "+
sont destinés au presse-papiers du système ( :help registers
). En fonction de votre système, ils peuvent faire des choses différentes. Par exemple, sur les systèmes qui n'utilisent pas X11, comme OSX ou Windows, la commande "*
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 en gros, le "*
est analogue à celle de X11 _PRIMARY_
sélection (qui copie généralement les éléments que vous sélectionnez avec la souris et les colle avec le bouton central de la souris) et "+
est analogue à celle de X11 _CLIPBOARD_
(qui est le presse-papiers proprement dit).
Si tout cela vous est passé au-dessus de la tête, essayez d'utiliser "*yy
ou "+yy
pour copier une ligne dans le presse-papiers de votre système. En supposant que vous avez les 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 pourriez mettre vnoremap <C-c> "*y
dans votre ~/.vimrc
afin que vous puissiez visuellement sélectionner et appuyer sur Ctrl + c pour l'envoyer dans le presse-papiers de votre système.
Sachez que le copier/coller à partir du presse-papiers du système ne fonctionnera pas si :echo has('clipboard')
retourne 0 . Dans ce cas, vim n'est pas compilé avec l'option +clipboard
et vous devrez installer une autre version ou la recompiler. Certains distros linux fournissent une installation minimale de vim par défaut, mais si vous installer le vim-gtk
ou vim-gtk3
paquet vous pouvez néanmoins bénéficier des fonctionnalités supplémentaires.
Vous pouvez également jeter un coup d'œil à la page d'accueil du site Web de la Commission européenne. 'clipboard'
option décrite dans :help cb
. Dans ce cas, vous pouvez :set clipboard=unnamed
ou :set clipboard=unnamedplus
pour que toutes les opérations d'arrachage/suppression soient automatiquement copiées dans le presse-papiers du système. Cela pourrait être un inconvénient dans certains cas où vous stockez quelque chose d'autre dans le presse-papiers, car cela l'écrasera.
Pour coller, vous pouvez utiliser "+p
ou "*p
(là encore, cela dépend de votre système et/ou de la sélection souhaitée) ou vous pouvez les associer à autre chose. Je les tape explicitement, mais je me retrouve souvent en mode insertion. Si vous êtes en mode insertion, vous pouvez quand même les coller avec une indentation correcte en utilisant <C-r><C-p>*
ou <C-r><C-p>+
. Voir :help i_CTRL-R_CTRL-P
.
Il convient également de mentionner la fonction de vim paste
option ( :help paste
). Cela place vim dans un environnement spécial "mode collage" qui désactive plusieurs autres options, vous permettant de coller facilement dans vim en utilisant le raccourci coller familier de votre émulateur de terminal ou de votre multiplexeur. (Il suffit de taper :set paste
pour l'activer, collez votre contenu, puis tapez :set nopaste
pour le désactiver). Vous pouvez également utiliser l'option pastetoggle
pour définir un code de touche qui fait basculer le mode ( :help pastetoggle
).
Je recommande d'utiliser les registres à la place de ces options, mais si elles sont encore trop effrayantes, cela peut être une solution de rechange pratique pendant que vous perfectionnez vos compétences en matière de vim.
Voir :help clipboard
pour des informations plus détaillées.
10 votes
Duplicata possible de Comment copier dans le presse-papiers avec vim ?
7 votes
Copier "+y Coller "+p Fonctionne comme le copier-coller, sauf que vous spécifiez le registre avant.
2 votes
Pour utiliser les commandes suivantes, assurez-vous que vous avez fait
sudo apt-get install vim-gnome
qui ajoutera cette fonctionnalité à vim intégré en utilisant le presse-papiers du système.2 votes
@Harnirvair Pour de nombreux groupes de lecteurs ici,
vim-gnome
est probablement exagéré ou simplement indisponible dans leur système d'exploitation/distro, alors que je pense quevim-gtk
et de préférencevim-gtk3
sont plus susceptibles d'exister et de tirer moins de dépendances, tout en fournissant une intégration du presse-papiers (au moins pour ceux qui sont encore sur X11 ; je ne suis pas sûr de la façon dont tout cela interagit avec Wayland).0 votes
...hmm, mon commentaire était basé sur le fait que j'ai trouvé que le système Ubuntu
vim-gnome
qui semble être un vieux truc de GNOME 2. Cependant, sur Debian proprement dite,vim-gnome
est juste un paquet factice qui installevim-gtk3
etvim-gui-common
. Je pense que c'est ce dernier qui fournit les améliorations du presse-papiers ici.1 votes
Voir aussi vi.stackexchange.com/questions/84/
3 votes
Par défaut sur Fedora - il n'y a pas d'accès au presse-papiers (vous avez besoin de gvim), superuser.com/questions/194747/
0 votes
BTW, sur le système Windows, lorsque vous exécutez VIM dans une fenêtre cmd, les raccourcis Windows habituels Ctrl+v, Ctrl+c fonctionnent pour interagir avec le presse-papiers de Windows. Les solutions fournies ci-dessous n'ont pas fonctionné pour moi.
1 votes
CTRL + C et ensuite CTRL + SHIFT + V pour copier et coller dans
vim
(même à partir d'une page web), mais des problèmes surviennent lorsque vous voulez copier du texte à partir devim
à une autre application et vous ne pouvez pas simplement faire défiler et surligner du texte, tout en utilisant CTRL + SHIFT + C0 votes
Checkout stackoverflow.com/a/65666057/9384511
0 votes
:) J'ai utilisé le
gedit
également, jusqu'à ce que j'aie trouvé cette solution ci-dessous.