101 votes

Couper et coller plusieurs lignes dans vim

Je cours vim 7.3 sur un Mac 10.7.2 et j'ai des problèmes pour couper et coller plusieurs lignes.

Sur ma vieille configuration Linux (qui a été volée donc je ne connais pas les versions), je pouvais taper "dd" plusieurs fois et ensuite "p" les yankerait tous. Par exemple: tapez : "dd dd" et deux lignes seraient supprimées. Maintenant tapez "p" et les deux lignes sont collées de retour dans le tampon.

Je sais que je peux accomplir ce que je veux en tapant "2dd", et ensuite "p" - mais j'aimerais pouvoir "dd"-out les lignes sans compter le nombre de lignes à l'avance.

Des idées ?

0voto

Sam Brinck Points 580

Je suis d'accord avec @Ben S. que c'est la manière préférée pour réaliser cela mais si vous souhaitez simplement reproduire votre ancien comportement, vous pouvez remapper dd pour ajouter à un registre spécifié, puis mapper p pour coller à partir de ce registre et le vider.
Cela aura l'inconvénient de faire en sorte que p fonctionne uniquement avec les éléments supprimés en utilisant dd (en utilisant d} pour supprimer jusqu'à la fin du paragraphe ne mettrait pas le texte dans le bon registre pour être collé plus tard).

Ajoutez ce qui suit à votre vimrc

noremap dd "Ddd             "Ajoute le contenu de la ligne actuelle dans le registre d
noremap p "dp:let @d="" "Colle depuis le registre d puis le vide

si vous ne voulez pas que le collage vide le contenu du registre

noremap p "dp               "Colle depuis le registre d

mais cela causera une croissance continue du registre sans jamais le vider

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