Pas facile de trouver un joli titre pour mon problème.
Je suis conscient de l'insertion devant un bloc de texte:
Ctrl- v sélectionner du texte de type lignesI ESC
Maintenant, je voudrais le faire, mais aussi en remplaçant une pièce dans ma sélection de blocs. Actuellement, je fais deux opérations
Ctrl- v sélectionner un bloc x revenir en arrière pour commencer
Suivi de la séquence que j'ai mentionnée ci-dessus.
Existe-t-il un moyen de combiner ces deux opérations en sélectionnant ( Ctrl- v) le bloc une seule fois?
Voici un petit exemple:
Je voudrais transformer le bloc suivant
1 text
2 text
3 text
4 text
5 text
dans
new text
new text
new text
new text
new text
faire une seule "opération".
visual-mode
replace
Patrick B.
la source
la source
Réponses:
Dactylographie c après avoir sélectionné votre bloc au lieu de xsupprimera le texte dans le bloc de sélection et entrera en mode insertion. Une fois que vous avez tapé quelque chose et quitté le mode d'insertion, vous devriez avoir le même changement sur chaque ligne.
Essayer
Ctrl- v- sélectionner un bloc - c- insérer quoi que -Esc
la source
Imaginez une rangée de trois lettres majuscules différentes comme celle ci-dessus.
^V
en sélectionnant ce qui précède, je ne pouvais pas changer tous ceux deA
la dernière lettre de la ligne en raison de lignes de longueur inégales. Les lettres majuscules précédentes fonctionnaient bien avec:s/\%V1/T/g
"La lettre majuscule précédente était un T fait à partir de '1./T/
.Mais en sélectionnant la dernière lettre majuscule ci-dessus, cela n'a changé que tous les «1» en «A» au point de l'A *, et le reste est resté un.
* La ligne la plus courte.
Pour rendre toutes les lignes de la même longueur, je les ai rembourrées avec des espaces. (Je suis nouveau sur vim, donc je suis sûr qu'un meilleur script pourrait être écrit.)
Remarque: le pic du A a commencé sur la ligne 2.
Après cela, a
:s/\%V1/T/g
fonctionné comme annoncé sur la dernière lettre majuscule de la ligne.PS J'ai lu que la
execute
ligne ci-dessus devrait fonctionner sans les points, mais cela n'a pas fonctionné pour moi.la source