Disons que j'ai un bloc de texte comme celui-ci:
// Commentaire1 // Commentaire2 // Commentaire3
Et je veux ajouter chacune de ces lignes à la fin de 3 lignes de code correspondantes:
foo = 1; bar = 2; baz = 3;
Pour que le résultat final soit
foo = 1; // Commentaire1 bar = 2; // Commentaire2 baz = 3; // Commentaire3
Existe-t-il un moyen facile de le faire à Vim?
Réponses:
Utilisez le mode de bloc visuel ( Ctrl+ v) pour sélectionner un ensemble de lignes, puis l'un you l' dautre.
Ensuite, si vous avez sélectionné le foo, bar, lignes baz utiliser le mode bloc visuel à nouveau pour sélectionner la première colonne des lignes de commentaires, puis Shift+ ples en place (ou si vous avez sélectionné les lignes de commentaires, sélectionnez la dernière colonne du foo bar baz lignes et peux en place.
Prendre le contrôle du positionnement peut prendre un peu de pratique, mais lorsque vous aurez le don, vous volerez. Lorsque vous avez sélectionné un bloc, vous pouvez également utiliser Shift+ Apour ajouter, par exemple, des espaces au bloc (lors de l'ajout, le nouveau texte n'apparaîtra que dans la ligne supérieure, mais lorsque vous appuyez sur esc, il apparaîtra comme par magie dans toutes les lignes sélectionnées) . De même, Shift+ ifera de même au début du bloc sélectionné sur chaque ligne.
Vous devrez cependant nettoyer les lignes vides par la suite.
Il y a aussi un excellent épisode de vimcasts montrant ces techniques plus en détail.
la source
:set ve=all
à très polyvalente. J'utilise personnellement le plugin UnconditionalPaste ( vim.org/scripts/script.php?script_id=3355 ) car il correspond un peu mieux à mes besoins.Eh bien, si c'est facile ou non, dites-moi. Accédez à
// Comment 1
, appuyez surdd
pour supprimer. Accédez à la ligne avecfoo = 1;
et appuyez surp
, pour coller sous la ligne. Montez àfoo
nouveau et appuyez surJ
pour rejoindre le rang. Tada.la source
Ce qui suit fera exactement ce que vous décrivez:
En fonction de ce que vous avez réellement besoin de faire (contrairement à l'exemple), en pratique, il peut être plus simple de sélectionner par bloc le bloc "// Comment1" etc. ( Ctrlv), yank ( y), aller à la fin du code bloquer et coller.
la source