Copie d'un registre à un autre

91

Comment copier le contenu d'un registre dans un autre sans coller dans le presse-papiers? J'avais extrait un texte et il avait été retiré dans le "registre par défaut . Maintenant, je veux copier un autre texte sans supprimer / écraser le "registre. Je veux donc déplacer le contenu du "registre pour en dire un aou pour bm'enregistrer afin que je puisse copier le nouveau texte à l'intérieur ". Comment faire cela?

bluegenetic
la source

Réponses:

114

Pour copier ou échanger des valeurs entre les registres, vous pouvez utiliser la commande : let , par exemple pour copier le contenu du bregistre dans a:

:let @a=@b

Ou copiez le contenu du "registre dans a:

:let @a=@"

Consultez cette astuce Vim pour quelques bonnes suggestions de mappage de clés:

Christian C. Salvadó
la source
1
D'une manière ou d'une autre, je ne peux pas faire fonctionner cela. J'ai un vim assez minime sur cette mcahine. Voici quelques-uns de mes paramètres. VIM - Vi IMproved 7.0 (7 mai 2006, compilé le 5 mars 2011 21:36:07) Correctifs inclus: 1, 3-4, 7-9, 11, 13-17, 19-26, 29-31, 34-44 , 47, 50-56, 58-64, 66-73, 75, 77-92, 94-107, 109, 202, 34-237 Compilé par <[email protected]> Version minuscule sans interface graphique.
Paul
1
@Paul, pour autant que je me souvienne, les petits et minuscules ensembles de fonctionnalités de Vim ne prennent pas en charge la :letcommande.
Christian C. Salvadó
Pouvez-vous expliquer ce que @fait?
Gqqnbig
@est la manière de travailler avec les registres en tant que variables. Voir :help let-registerpour plus de détails. Vous pouvez simplement le considérer comme @ala variable dans laquelle le registre aest stocké.
cincodenada
7

Vous pouvez faire quelque chose comme ceci:

let @a = getreg('"')

Cela copiera le "registre dans le aregistre.

derobert
la source