VIM Expressions régulières

VIM Expressions régulières
Les expressions régulières (ou regexps pour faire court) sont des outils utilisés pour modifier le texte et les données. Ils ne sont pas disponibles en tant que produit autonome mais plutôt dans le cadre d'un logiciel ou d'un utilitaire. Unix Grep, un programme qui recherche les fichiers des lignes qui correspondent à un modèle, est l'exemple le plus connu. Regexps peut être considéré comme une langue sophistiquée. Les regexps sont extrêmement pratiques et peuvent considérablement minimiser le temps nécessaire pour effectuer des tâches d'édition de texte fastidieuses.

Les expressions régulières semblent être rapidement favorables aux utilisateurs de VIM lorsqu'ils apprennent l'incroyable capacité de programmation qu'ils peuvent apporter. La syntaxe de Vim diffère légèrement de celle de Perl, mais elle est suffisamment proche. En conséquence, les utilisateurs de VIM peuvent bénéficier d'exemples d'expression régulière de Perl. Dans cet article, nous discuterons des expressions régulières les plus couramment utilisées dans VIM avec des exemples. Commençons.

Ici, nous avons un fichier nommé MyFile qui a toutes les pièces que nous voulons peut-être gérer, donc la première chose que nous ferons est la recherche globale et remplacer, donc c'est assez facile. Tout d'abord, nous ouvrirons ce fichier avec cette commande.

$ vim myfile

Type Colon. Il vous amènera en mode ligne de commande et tapez pour cent, toutes les lignes du remplaçant du fichier. Nous pouvons faire quelque chose de vraiment simple, comme remplacer tous les cas où vous voyez Ind par Las, par exemple, donc c'est le genre de remplacement le plus facile.

Cette commande apportera les modifications. Vous pouvez comparer la capture d'écran suivante avec le premier pour observer que l'IND est remplacé par Las.

Il existe de nombreuses autres façons d'utiliser la recherche et le remplacement, donc tout le monde sait ici si vous entrez votre mode de ligne visuelle (appuyez sur Shift + V).

Nous avons sélectionné un bloc de texte et remplacé Ind par Las; Par exemple, si nous appuyons sur Q et Colon, nous pouvons le modifier et dire que nous voulons également changer partout où vous voyez dub en Las.

C'est le genre de démonstration la plus simple de la recherche et du remplacement afin que vous puissiez faire de nombreuses façons différentes le premier étant le type de fichier entier avec pourcentage que vous pouvez spécifier lorsque vous choisissez une gamme ici, et vous regardez Il dit automatiquement que vous savez ce que vous avez sélectionné avec l'apostrophe moins qu'une apostrophe supérieure à celle que vous pouvez également comme vous pouvez spécifier une plage particulière.

Maintenant, nous pouvons dire sur la ligne deux à la ligne sept, remplacer Eng par RST.

Laissant du texte de côté, nous pouvons maintenant considérer tous les endroits où il y a un zéro, et le remplaçant par un.

Vous remarquerez peut-être que cela n'a mis en évidence que le premier match, donc il y en a beaucoup comme sur la ligne relative deux là-haut; Vous pouvez voir que nous avons beaucoup de zéros supplémentaires; Il y a des drapeaux que vous pouvez émettre, par exemple, G pour faire tous les matchs par ligne.

Ceci est très utile si vous programmation, car vous pourriez avoir plusieurs instances d'une variable sur la même ligne, mais vous voudrez peut-être également donner une confirmation à chaque fois que vous pouvez faire avec C les flexions C pour confirmer, donc vous dites oui ( appuyez sur y) Je souhaite remplacer celui-là et non (appuyez sur N) si vous ne souhaitez pas remplacer un chiffre particulier. Lorsque vous avez terminé, vous savez que vous pouvez soit passer à travers le secteur de match, vous pouvez appuyer sur Q, et ces substitutions seront terminées.

Ceci est le plus bref aperçu et peut-être le moyen le plus élémentaire d'utiliser la commande de substitut. Il existe des caractères spéciaux pour substituer où vous ne voulez pas nécessairement spécifier exactement quel est votre match en le tapant donc par exemple, si nous disons trouver tous les endroits où il y a un personnage de mot donc c'est tout ce qui est une lettre et non un espace essentiellement donc des caractères d'espace avec s et chiffres avec D si vous souhaitez correspondre à un ensemble de ceux Juste des groupes de quatre, nous voulons aussi dire, donnez-moi simplement s'il y a un ou plusieurs slash plus donc ce sera tous les cas où vous avez un ou plusieurs chiffres sur une ligne.

Il y a «S» et Capital «S» qui correspondent à des caractères d'espace qui comprennent vos espaces, vos onglets et vos nouvelles lignes; Il y a les caractères numériques 0 à 9 ou non des caractères de chiffres qui seraient Capital D en minuscules d étant les caractères numériques, puis vous avez votre parole ou pas des caractères de mot, ce qui n'est pas de l'espace, donc ce sont votre genre de substitution la plus utile commandes et généralement comment les utiliser.

D'autres choses sont utiles sur les expressions régulières. Par exemple, disons que si vous souhaitez remplacer tous les cas où vous avez American Space Zero par quelque chose.

C'est une bonne façon de résoudre ce problème, mais si vous utilisez très magique, ce qui est ceci / V. Supposons simplement que ce n'est pas ici, et nous en ferons un qui est magique ici.

Voici l'espace américain et se ferme, donc il y a notre match. Ensuite, nous égalerions celui-là, ou faisons-le de cette façon, faisons correspondre les zéros parce qu'il y en a certains. Nous voulons les remplacer par la même chose American Space, et ici, nous ferions de la barre arrière 1, et maintenant il connaît l'espace américain et le suivons avec un 3, alors maintenant nous sommes passés de l'espace américain 0 à l'espace américain 3.

Voici un autre exemple à vous donner lorsque vous voulez garder un peu de votre match, mais vous ne savez peut-être pas nécessairement de quoi il s'agit ou comment il va être formaté ou pourrait être différent d'une ligne à l'autre, mais dans ce cas, Ce que vous voulez faire, c'est que vous leur dirais de commencer sur les lignes qui disent américain mais que je ne veux pas démarrer le match jusqu'à ce que ZS soit ici, puis disent faire correspondre un chiffre, puis terminer le match et remplacer par un trois.

Conclusion

Nous l'avons fait; Cela a été un bref aperçu des expressions régulières. Les sujets que nous avons couverts sont comment sélectionner des gammes de substitution, ce que les métacharacteurs sont ou plutôt des personnages super pour l'espace et les chiffres des mots, comment faire des groupes de capture, comment spécifier le début et la fin d'un match, puis comment sélectionner les gammes en utilisant des expressions régulières que vous pouvez facilement faire dans vos programmes.