107 votes

VIM: Coller plusieurs fois

Quelle est la meilleure façon de remplacer plusieurs lignes par le contenu du presse-papiers? Le problème que je rencontre est que lorsque je tire une ligne et que je la colle sur une autre ligne, le "yank" est remplacé par la ligne que je viens de remplacer. Maintenant, si je veux remplacer une autre ligne par la même ligne, je dois remonter et tirer à nouveau. Il doit y avoir une meilleure façon de faire cela.

128voto

Benoit Points 35553

J'ai ceci dans mon .vimrc:

 xnoremap p pgvy
 

Essayez le!

31voto

dash-tom-bang Points 9384

"0 devrait avoir le contenu de votre copie. C'est un peu plus fastidieux, mais "0p devrait faire ce que vous voulez.

Alternativement, ne pas sélectionner et remplacer les anciennes lignes de front. Si vous trouvez ces lignes, avec une recherche, il suffit de frapper n. de plus et plus (après une première p), alors quand ils sont tous collés, ne ndd , suivi par le plus grand nombre n.s en tant que de besoin.

Le plus grand mentale interrupteur que j'ai eu besoin de faire lors d'un déplacement vers Vim est de comprendre comment l'appliquer groupe édite de manière séquentielle. I. e. plutôt que de faire un tas de modifications sur une ligne et ensuite de faire un tas de même des modifications sur une autre ligne, je vais faire de la première édition sur un tas de lignes (à l'aide d' . à grand effet), puis de la deuxième édition sur un tas de lignes, etc. Alternativement, l'utilisation de macros peut aider comme ils sont fantastiques, mais parfois un peu plus fastidieux à faire fonctionner correctement avec le "complexe" des changements.

15voto

F.C. Points 3283

J'utilise souvent un autre registre, copiez la ligne dont vous avez besoin dans un registre nommé "ay puis collez-le à partir de là "ap

13voto

JaredPar Points 333733

Lorsque vous collez sur une sélection dans Vim, il remplace la valeur par défaut de registre avec le contenu de la sélection. Si le collage d'une sélection est en train d'effacer le contenu du presse-papiers enregistrer puis très probablement, vous avez la ligne suivante dans votre .vimrc

set clipboard=unnamed

Une option est de les supprimer et de les utiliser de manière explicite de la presse-papier registre "+

Une autre option est d'utiliser l'un de l'autre explicitement nommé registres (a-z). Après la première coller copier la ligne de dos en "c par exemple et ensuite utiliser "cp pour coller à partir de là.

7voto

toopay Points 1690

utilisez npn est le nombre de temps pendant lequel vous voulez coller les lignes, par exemple 3p va coller 3 lignes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X