En utilisant la fonction de recherche standard (/) dans VIM, existe-t-il un moyen de rechercher à l'aide d'un caractère générique (correspond à 0 ou plusieurs caractères)?
Exemple:
J'ai un tableau et je veux trouver n'importe où les indices du tableau sont attribués.
array[0] = 1;
array[i] = 1;
array[index]=1;
etc.
Je cherche quelque chose dans le sens de
/array*=
si c'est possible.
Je pense que vous ne comprenez pas comment fonctionne le caractère générique. Il ne correspond pas à 0 ou plusieurs caractères, il correspond à 0 ou plus de l'atome précédent, qui dans ce cas est y
. Donc recherche
/array*=
correspondra à l'un de ces éléments:
arra=
array=
arrayyyyyyyy=
Si vous souhaitez faire correspondre 0 ou plus à n'importe quel caractère, utilisez l'atome "point", qui correspondra à tout caractère autre qu'une nouvelle ligne.
/array.*=
Si vous voulez quelque chose de plus robuste, je recommanderais:
/array\s*\[[^\]]\+\]\s*=
qui est "tableau" suivi de 0 ou plus d'espaces, suivi de tout ce qui est contenu entre parenthèses, suivi de 0 ou plus d'espaces, suivi d'un signe "égal".