J'utilise souvent la /
commande de recherche vim pour vérifier mes expressions régulières (juste pour voir à quoi cela correspond). Après cela, j'utilise généralement la :%s
commande replace, où j'utilise cette expression rationnelle de recherche comme chaîne à remplacer, par exemple, je cherche d'abord une telle chaîne:
/TP-\(\d\{5\}\)-DD-\d\{3\}
Cela correspond exactement à ce que je veux, donc je fais mon remplacement:
:%s/TP-\(\d\{5\}\)-DD-\d\{3\}/\1/g
Mais je dois réécrire toute l'expression rationnelle ici. Habituellement, cette expression régulière est beaucoup plus longue, c'est pourquoi je recherche une solution:
Existe-t-il un raccourci ou un script vim pour coller ce modèle de recherche directement dans la commande replace?
J'utilise vim dans le terminal (pas de gvim).
la source
/
insérer le contenu du registre de modèle de recherche (/
) directement dans une ligne de commande partiellement tapée (par exemple juste après:%s/
).\9
, il n'y a aucune ambiguïté.Un autre bon moyen de voir les recherches de regexes passées ainsi que les commandes Ex et d'y apporter des modifications est de modifier ces commandes en mode normal. À partir de ce mode, vous aurez tous vos pouvoirs vim, y compris le copier-coller.
?
ou/
pour rechercher, essayezq/
ouq?
:
essayerq:
Pour en savoir plus, voir
:help q:
.la source