Comment copier-coller un bout de ligne ou de bloc avec Vim? [Résolu/Fermé]

Messages postés
21
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
20 avril 2013
- - Dernière réponse : dubcek
Messages postés
17943
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 novembre 2019
- 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

Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
17943
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 novembre 2019
4511
1
Merci
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

Dire « Merci » 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 70282 internautes nous ont dit merci ce mois-ci

Messages postés
21
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
20 avril 2013
7
0
Merci
Et vous trouvez ça pratique vous? Enfin merci de votre réponse

PC
dubcek
Messages postés
17943
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
21 novembre 2019
4511 -
oui surtout avec un terminal 25 lignes x 80 colonnes.
mais maintenant, il y a plein d'éditeurs conviviaux autres que vim
0
Merci
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.