2010-01-31 8 views
4

cw change un mot. De même si j'ai sélectionné des sections dans vim (trouvé par /), comment puis-je changer l'une des sections en surbrillance, de sorte que je peux répéter (.) le processus dans toutes les autres sections en surbrillance. Je sais que le %s fera l'affaire. Mais je voulais aller de cette façon / (satisfaction visuelle).Dans Vim: comment changer une section en surbrillance?

Edit:
Je cherche une extension à c comme w

Edit:
Je veux faire quelque chose comme csection sélectionnée ou dsection sélectionnée ou ysection sélectionnée etc.
Comme vous ne cw, dw, yw ou ct”, dt” ou yt”

Répondre

0

Essayez ceci:

:s//new_value 

Pourquoi downvote? Vous pouvez mapper quelque chose comme:

:nmap \s :s///<cr>``i 

recherche alors votre texte, appuyez sur la cartographie et vous serez en mode d'insertion où votre texte de recherche était. Vous ne pouvez pas utiliser . mais vous pouvez simplement utiliser n\s pour le prochain match.

Il n'y a pas d'objet texte intégré décrivant le texte trouvé par une recherche pour autant que je sache.

1

Si vous souhaitez approuver visuellement chaque changement que vous pourriez faire

:%s/old/new/gc 

Edit: Des autres réponses sonne comme il n'y a pas moyen d'obtenir la sélection facilement. Peut-être pourriez-vous utiliser la fonctionnalité de script python dans Vim pour écrire une commande pour faire ce que vous voulez?

+0

Non, ce n'est pas quelque chose que je cherche. –

+0

Je ne pense pas que je comprends parfaitement la question alors. Cherchez-vous quelque chose comme une macro? – nathan

+0

question mise à jour –

1

La recherche d'une chaîne avec / ne la sélectionne pas - elle ne fait que la mettre en surbrillance.

Pour sélectionner une région de texte cliquez et faites glisser la souris dessus ou utilisez les v, V ou ctrl-v clés en mode normal (pour sélectionner une région normale, par des lignes ou zone rectangulaire respectivement) puis naviguer avec les touches de déplacement habituelles pour étendre la sélection. Cela vous mettra en mode de sélection visuelle. Une fois que vous avez mis du texte en surbrillance et que vous êtes en mode de sélection visuelle, vous pouvez utiliser les commandes d'édition normales pour modifier le texte mis en surbrillance, par ex. c va supprimer le texte et vous mettre en mode insertion, y va tirer le texte, gU va changer le texte en majuscule, g? va ROT13, etc.

Une fois que vous avez entré la commande d'édition, vous revenez en mode normal et la surbrillance visuelle disparaît. Vous pouvez resélectionner la même région avec gv.

3

Trouvez votre texte avec /foo comme d'habitude, puis utilisez c//e - mais assurez-vous d'utiliser // au lieu de simplement / ou n pour trouver les matchs suivants.

(//e signifie que la dernière recherche est répétée, mais le curseur est placé à la fin du mot, pas le début. Cependant, le drapeau e se souvient de la recherche suivante, ce qui est la raison pour laquelle vous devez utiliser // après