Comment copier-coller un bout de ligne ou de bloc avec Vim?

Résolu/Fermé
pchevee Messages postés 21 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 20 avril 2013 - 20 oct. 2012 à 15:56
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 - 21 oct. 2012 à 08:57
Bonjour,

je me pose toujours la question face à quantité impressionnante de personnes ne jurant et ne développant que par l'outil vim sous linux: comment copie-t-on (ou coupe-t-on) un bout de chaîne pour le mettre dans un autre?

Je m'explique. Dans la phrase suivante:

Malbrough s'en va-t-en guerre, et ron, et ron petit patapon...

je voudrais enlever "Et ron et ron petit patapon" pour le mettre au début de la phrase. N'y a-t-il pas d'autres moyens que de compter les mots (sans compter que la virgule est peut être un mot complet) et de faire une manip genre (n)dw pour le coller en début avec un P?

Dans l'interface du vieux Turbo Pascal des années 80 à l'époque héroïque des PC IBM sans souris, on pouvait marquer le début du bloc par F7, la fin par F8 et ça mettait le bloc en surbrillance. Après on pouvait utiliser Ctrl-K C ou Ctrl-K V suivant qu'on veuille copier ou déplacer ledit bloc. En 2012 on devrait pouvoir faire mieux, et ça ne semble pas le cas. Il existe bien une commande m dans Vim mais elle marque TOUTES les lignes du bloc. Par exemple, si je fais ceci (les commandes avec les positions du curseur associées sont entre parenthèses):

Malbrough s'en va-t-en guerre, (ma)et ron, et ron petit patapon...(d'a)

eh bien on supprime toute la ligne, et pas seulement la fin. D'où ma question...

Merci d'avance de vos réponses éclairées,

PC

A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 20/10/2012 à 16:30
hello
sans souris, vim c'est fun .. se placer sur le e de et et taper : dt.0Pa<espace><Esc>
dt.  détruire jusqu'au . non compris en stockant dans le buffer
0   aller en début de ligne
P  insérer le buffer à gauche
a<espace><Esc > ajouter un espace
1
pchevee Messages postés 21 Date d'inscription lundi 5 mai 2008 Statut Membre Dernière intervention 20 avril 2013 7
20 oct. 2012 à 20:58
Et vous trouvez ça pratique vous? Enfin merci de votre réponse

PC
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
21 oct. 2012 à 08:57
oui surtout avec un terminal 25 lignes x 80 colonnes.
mais maintenant, il y a plein d'éditeurs conviviaux autres que vim
0
Utilisateur anonyme
20 oct. 2012 à 21:15
salut,

alors utilise nano :

ctrl-^ Marquer le texte à la position du curseur
ctrl-K Couper
ctrl-U Coller
ctrl-G Afficher l'aide
ctrl-X Quitter
etc.
0