Remplacer une ligne par la ligne que j'ai dans le tampon en vi

Je cc ou dd pour copyr une ligne dans mon tampon de pâte. Ensuite, je vais à un nouvel endroit.

Je veux replace une ligne que je vois. Donc, je tape p Down dd .

Existe-t-il un moyen plus simple (less de frappes)?

Vous pouvez taper V pour sélectionner la ligne, puis p pour la replace.

Une autre façon de le faire serait "_ddp

"_dd supprime la ligne courante dans le buffer nul, ce qui ne l' "_dd pas sur ce que vous venez de copyr, ce que j'ai trouvé utile plusieurs fois! Le p colle la ligne que vous aviez copiée plus tôt.

Pourrait ne pas être plus court en termes de touches, mais sachant que c'est une option peut être très utile!

Angus et Thor ont les réponses courtes couvertes, alors voici quelques bonus d'exploration.

Si pour une raison quelconque vous souhaitez supprimer avant de coller, vous pouvez profiter des registres numérotés. Le registre "0 contient le text qui a été enregistré par le dernier y ou Y , mais pas la suppression Les registres "1 à "9 enregistrent les 9 dernières suppressions / coupures effectuées:

  • Si vous avez cliqué sur yy , vous pourriez replace par dd"0P .
  • Si vous coupez avec dd ou cc , vous pourriez replace par dd"2P . (Not dd"1P parce que le dd remplit "1 .)

Essayez :help "0 pour plus d'informations approfondies.

Supposons que vous voulez replace la ligne 1 par 3 que vous pourriez faire :1m3|2d

Cela déplace effectivement la ligne 1 vers la ligne 3 et supprime la ligne 2 (c'est-à-dire l'ancienne ligne 3)