Comment ajoute-t-on au registre du presse-papiers dans vim?


21

Je sais déjà que vous pouvez copier quelque chose dans le registre en utilisant: (plus une commande yank, delete, etc.)

"a

Je comprends également que vous pouvez ajouter à un registre en utilisant:

"A

De plus, je comprends comment copier quelque chose dans le presse-papiers en utilisant:

"+

Que dois-je taper pour ajouter au registre du presse-papiers?

Ma version vim:

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Jan 2 2014 19:39:59) Huge version with GTK2 GUI.

Réponses:


10

Il n'y a pas de commande de mode normal pour cela, mais vous pouvez simplement ajouter à un autre registre et :letle registre du presse-papiers au contenu de ce registre:

"Ay
"Ay
"Ay
:let @+ = @A

1
Dois-je mettre cela dans mon fichier .vimrc?
Jason Basanese

3
Veuillez noter que let @+ = @Ale type de registre est rejeté a. La bonne façon de copier des registres est quelque chose comme ceci: call setreg('+', getreg('a', 1, 1), getregtype('a')).
Sato Katsura

//, Est-ce que cela s'ajoute réellement ?
Nathan Basanese

//, Pourquoi listez-vous trois "Aycommandes?
Nathan Basanese

Cela aurait pu être quatre ou douze. Juste un exemple.
romainl

7

Vous pouvez appeler setreg('+', lines, 'a'), mais pour autant que je sache, il n'y a aucun moyen de le faire avec des commandes en mode normal. Vous devez utiliser l'un des registres de lettres majuscules pour cela.


Le simple fait d'utiliser :let @+ .= 'XXX'semble fonctionner?
Martin Tournoij

7
@Carpetsmoker Oui et non. Il y a eu une discussion récente à ce sujet sur vim_dev et apparemment, vous n'êtes pas censé le faire, même si cela peut sembler fonctionner sous certaines conditions. Je suppose que cela a à voir avec le contenu du registre ayant un type (caractère / ligne / bloc) et la concaténation de chaîne ne faisant pas la comptabilité nécessaire. Cela ne fait aucune différence de toute façon, ce n'est toujours pas une commande en mode normal.
lcd047
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.