Manuel de l'Utilisateur Expérimenté Solaris

Copie et déplacement de texte : commandes Yank, Delete et Put

La plupart des traitements de texte permettent de "copier et coller" et de "couper et coller" des lignes de texte. L'éditeur vi comporte également ces fonctions. Les commandes vi correspondant à la fonction "copier-coller" s'appellent yank et put ; et celles correspondant à la fonction "couper-coller" s'appellent delete et put.

Pour copier ou déplacer de petits blocs de texte sous vi, vous devez utiliser la combinaison de commandes yank, delete et put.

Copie de lignes

Deux commandes sont nécessaires pour copier une ligne : yy ou Y ("yank") et p ("put below"), pour insérer la nouvelle ligne au-dessous de la ligne à copier, ou P ("put above") pour l'insérer au-dessus. Les commandes Y et yy ont la même fonction.

Pour copier une ligne, positionnez le curseur sur la ligne choisie et tapez yy. Ensuite, amenez le curseur sur la ligne située au-dessus de l'endroit où vous voulez insérer (copier) la ligne extraite, puis tapez p. La copie de la ligne extraite apparaît sur une nouvelle ligne située en-dessous du curseur.

Pour placer la ligne extraite sur une nouvelle ligne située en-dessus du curseur, tapez P.

La commande yy fonctionne également par comptage. Par exemple, si vous voulez extraire 11 lignes, il vous suffit de taper 11yy. Onze lignes sont extraites à partir de l'emplacement du curseur et vi vous le signale en affichant le message suivant en bas de l'écran : 11 lignes extraites.

Vous pouvez également lancer les commandes P ou p juste après l'une des comandes de suppression décrites plus haut. Le texte que vous avez supprimé sera inséré respectivement au-dessus et en-dessous du curseur.


Attention : Attention :

Graphicseules les commandes de déplacement du curseur sont autorisées entre la commande d'extraction ou de suppression et celle d'insertion. Si vous effectuez une autre suppression ou extraction avant d'avoir inséré le texte à son nouvel emplacement, les lignes extraites seront perdues.


Déplacement de lignes

Le déplacement de lignes fait également appel à deux commandes : dd ("delete"), puis p ou P.

Pour déplacer une ligne, positionnez le curseur sur la ligne choisie, puis tapez dd. Et si par exemple vous voulez déplacer 5 lignes, tapez 5dd.

Ensuite, amenez le curseur sur la ligne située en-dessus de l'endroit où vous voulez réinsérer la ligne supprimée, puis tapez p. Le texte est inséré sur une nouvelle ligne en-dessous du curseur.

Vous pouvez également insérer la ligne supprimée en-dessus du curseur en tapant P.

Utilisation de buffers nommés

Pour insérer un même ensemble de lignes à différents endroits dans un document, vous pouvez extraire (ou supprimer) ces lignes et les placer dans un buffer nommé. Pour attribuer un nom à un buffer, faites précéder la commande d'un guillemet (") et du nom du buffer. Par exemple, pour extraire quatre lignes et les placer dans le buffer a, tapez "a4yy. Vous pouvez utiliser plusieurs buffers. Ainsi, vous pouvez très bien supprimer un texte à un endroit et l'insérer à plusieurs endroits différents. Pour supprimer 12 lignes et les placer dans le buffer b,tapez "b12dd.

Pour insérer le texte, faites précéder la commande p ou P de "n, n étant le nom du buffer. Pour insérer les lignes sauvegardées dans le buffer b, tapez "bP.

Vous pouvez écraser le contenu des buffers nommés en insérant de nouvelles lignes de texte. Les buffers sont sauvegardés jusqu'à ce que vous quittiez vi.

Lorsque vous utilisez les buffers nommés, vous pouvez supprimer et extraire d'autres parties de texte sans que cela n'affecte les lignes déjà sauvegardées dans des buffers nommés (sauf si vous écrasez volontairement un buffer nommé).