Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format
PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [13/08/2014 17:48] Hypathie [Les expressions rationnelles basiques et les commandes GNU/Linux] |
utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes [13/08/2014 18:12] Hypathie [Les expressions rationnelles basiques et les commandes GNU/Linux] |
||
---|---|---|---|
Ligne 681: | Ligne 681: | ||
+ | ====L'éditeur de texte vi n'utilise que les ERb ==== | ||
+ | ===Préparation === | ||
+ | <code user>cat liste4-vim</code> | ||
+ | <code> | ||
+ | Kc5 T5 c E2* abcd 7 9Abcd | ||
+ | 7 1AAA.AAA.bcdef aBcd6a 123* | ||
+ | abc2356.99 | ||
+ | 73000|Savoie | ||
+ | index-tel|04|Rhône-Alpe | ||
+ | -15 +36 5687 {15} exemple{36} | ||
+ | il y a un truc et un truc et encore un truc et une chose | ||
+ | chose et truc ne font pas bon ménage | ||
+ | 123.3456.abc | ||
+ | trucchosetruc | ||
+ | tructructruc | ||
+ | chosechosechose | ||
+ | </code> | ||
+ | |||
+ | <note tip> | ||
+ | Modes utilisés dans ce qui suit :\\ | ||
+ | |||
+ | |||
+ | * **Le mode normal**: celui dans lequel vous êtes à l'ouverture du fichier. Il permet de taper des commandes. | ||
+ | * Par exemple, la commande **:q!** pour sortir sans enregistrer ; | ||
+ | * la commande **:wq** pour enregistrer et sortir | ||
+ | |||
+ | * **Le mode insertion**: Ce mode permet d'insérer les caractères que vous saisissez à l'intérieur du document. Pour passer en mode insertion, il suffit d'appuyer sur **la touche "i"** ; touche "Échap" pour en sortir. | ||
+ | |||
+ | * Pour tester ce qui suit si vous ne connaissez pas vi ou vim :\\ | ||
+ | *Après [[doc:editeurs:vim:vim#installation|installation de vim]], créer un fichier, par exemple "liste4-vim" : '' vim liste4-vim '' | ||
+ | * Copier le contenu de "liste4-vim" ci-dessus ; | ||
+ | * Pour coller dans le fichier "liste4-vim" édité avec vim : | ||
+ | * touche <majuscule de droite> + touche <inser> (cela fait que l'on est en mode insertion) | ||
+ | * sortir du mode insertion : touche "Échap" | ||
+ | * enregistrer et sortir : '' :wq '' et touche <entrée> | ||
+ | * Pour apprendre les rudiments de l'utilisation de vim (et donc de vi), après l'installation de vim : | ||
+ | |||
+ | vimtutor | ||
+ | |||
+ | -> Pour y ajouter l'utilisation des //ER//, suivre ce qui suit. | ||
+ | </note> | ||
+ | |||
+ | * Éditer le fichier "liste4-vim" : | ||
+ | * Pour éditer le fichier avec vi ou vim : | ||
+ | |||
+ | <code user>vi liste4-vim</code> | ||
+ | ou | ||
+ | <code user>vim liste4-vim</code> | ||
+ | |||
+ | {{http://pix.toile-libre.org/upload/original/1407922486.png?400}} | ||
+ | |||
+ | ===Syntaxe d'utilisation des ER=== | ||
+ | |||
+ | * **recherche** en __mode interactif tapez (/)__ : | ||
+ | |||
+ | /expression-rationnelle-basique | ||
+ | |||
+ | <note tip> | ||
+ | * /chaîne ou ER - rechercher ce qui correspond à chaîne ou les chaînes correspondant à ER | ||
+ | |||
+ | * n - rechercher l'occurrence suivant de la chaîne | ||
+ | |||
+ | * N - rechercher l'occurrence précédente de chaîne | ||
+ | </note> | ||
+ | |||
+ | * **substitution d'une occurrence** (depuis le mode interactif passer en __mode commande (:)__ : | ||
+ | |||
+ | :[adresse[,adresse]]s/expression-rationnelle-basique/remplacement/[drapeau] | ||
+ | |||
+ | * **substitution sur tout le texte**, ou une portion __en mode commande (:)__ : | ||
+ | |||
+ | :adresse%s/chaine_a_remplacer/chaine_de_remplacement/ | ||
+ | |||
+ | <note tip> | ||
+ | *g - drapeau - remplacer toutes les occurrences de le //ER// (si cette option n'est pas utilisée, vi substituera que la prochaine occurrence du motif) | ||
+ | |||
+ | *c - drapeau - confirmer le remplacement | ||
+ | |||
+ | *i - drapeau - ignorer la casse (prend en compte toutes les occurrences de la chaîne en majuscules ou en minuscules) | ||
+ | </note> | ||
+ | |||
+ | ===Exemples de recherches === | ||
+ | * le caractère début de ligne ^ | ||
+ | <code> | ||
+ | /^chose | ||
+ | </code> | ||
+ | On appuie sur la touche shift+: pour inscrire ''/'', on inscrit sa ER, on valide avec la touche "entrée". vi ou vim surligne toutes les occurrences de "chose" qui sont en début de ligne. | ||
+ | |||
+ | <code>nohlsearch</code> | ||
+ | Pour retirer la surbrillance de la recherche. | ||
+ | |||
+ | * le caractère fin de ligne $ | ||
+ | <code> | ||
+ | /chose$ | ||
+ | </code> | ||
+ | On valide avec entrée, et ''nohlsearch'' pour effacer | ||
+ | |||
+ | * sous-chaîne avec parenthèses et accolades : | ||
+ | <code> | ||
+ | \([0-9]\{3\}.\)\{2\} | ||
+ | </code> | ||
+ | Vi ou vim surligne à la ligne 9 (comportant "123.3456.abc") la sous-chaîne **''123.3456.''**. | ||
+ | |||
+ | ===Exemples de substitution=== | ||
+ | |||
+ | * crochets : | ||
+ | <code> | ||
+ | :s/[Ss]/XXX/g | ||
+ | </code> | ||
+ | >Substitue les caractères "S" ou "s" à la ligne du curseur et surligne toutes les occurrences potentiellement substituables. | ||
+ | > **''nohlsearch''** pour retirer la surbrillance. | ||
+ | >puis pour annuler la substitution "Échap", puis appuyer sur la lettre "u" ("u" pour annuler un seul changement, "U" pour annuler plusieurs changement sur une ligne. | ||
+ | |||
+ | * idem sur tout le texte : | ||
+ | <code> | ||
+ | :1,$s/[Ss]/XXX/g | ||
+ | </code> | ||
+ | |||
+ | >"1,$" est l'adressage qui signifie de la première ligne à la fin. | ||
+ | |||
+ | * utilisation de \| : | ||
+ | <code>/c\|t</code> | ||
+ | |||
+ | ->Une image vaut mieux qu'une description :\\ | ||
+ | {{http://pix.toile-libre.org/upload/original/1407937898.png?400}} | ||
Ligne 857: | Ligne 982: | ||
+ | ====L'éditeur de texte vi et les caractères spécifiques aux ERb==== | ||
- | + | * Reprise du fichier "liste4-vim" : | |
- | ====L'éditeur de texte vi n'utilise que les ERb ==== | + | |
- | ===Préparation === | + | |
- | <code user>cat liste4-vim</code> | + | |
- | <code> | + | |
- | Kc5 T5 c E2* abcd 7 9Abcd | + | |
- | 7 1AAA.AAA.bcdef aBcd6a 123* | + | |
- | abc2356.99 | + | |
- | 73000|Savoie | + | |
- | index-tel|04|Rhône-Alpe | + | |
- | -15 +36 5687 {15} exemple{36} | + | |
- | il y a un truc et un truc et encore un truc et une chose | + | |
- | chose et truc ne font pas bon ménage | + | |
- | 123.3456.abc | + | |
- | trucchosetruc | + | |
- | tructructruc | + | |
- | chosechosechose | + | |
- | </code> | + | |
- | + | ||
- | <note tip> | + | |
- | Modes utilisés dans ce qui suit :\\ | + | |
- | + | ||
- | + | ||
- | * **Le mode normal**: celui dans lequel vous êtes à l'ouverture du fichier. Il permet de taper des commandes. | + | |
- | * Par exemple, la commande **:q!** pour sortir sans enregistrer ; | + | |
- | * la commande **:wq** pour enregistrer et sortir | + | |
- | + | ||
- | * **Le mode insertion**: Ce mode permet d'insérer les caractères que vous saisissez à l'intérieur du document. Pour passer en mode insertion, il suffit d'appuyer sur **la touche "i"** ; touche "Échap" pour en sortir. | + | |
- | + | ||
- | * Pour tester ce qui suit si vous ne connaissez pas vi ou vim :\\ | + | |
- | *Après [[doc:editeurs:vim:vim#installation|installation de vim]], créer un fichier, par exemple "liste4-vim" : '' vim liste4-vim '' | + | |
- | * Copier le contenu de "liste4-vim" ci-dessus ; | + | |
- | * Pour coller dans le fichier "liste4-vim" édité avec vim : | + | |
- | * touche <majuscule de droite> + touche <inser> (cela fait que l'on est en mode insertion) | + | |
- | * sortir du mode insertion : touche "Échap" | + | |
- | * enregistrer et sortir : '' :wq '' et touche <entrée> | + | |
- | + | ||
- | * vi (vim) utilise tous [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes?&#caracteres-communs-aux-erb-et-ere|les caractères communs aux ERb et ERe]], tous [[utilisateurs:hypathie:tutos:erb-et-ere-par-le-contexte-des-commandes?&#caracteres-specifiques-aux-erb|les caractères spécifiques aux ERb]], y compris ceux ci-dessous (comme "les commandes à option" permettant de choisir le type //ER//): | + | |
- | + | ||
- | |**''<nowiki>\?</nowiki>''** | zéro ou une fois l'élément précédent | | + | |
- | |**''<nowiki>\+</nowiki>''** | une ou plusieurs fois l'élément précédent | | + | |
- | |**''<nowiki>\|</nowiki>''** | alternative | | + | |
- | + | ||
- | * Pour apprendre les rudiments de l'utilisation de vim (et donc de vi), après l'installation de vim : | + | |
- | + | ||
- | vimtutor | + | |
- | + | ||
- | -> Pour y ajouter l'utilisation des //ER//, suivre ce qui suit. | + | |
- | </note> | + | |
- | + | ||
- | * Éditer le fichier "liste4-vim" : | + | |
- | * Pour éditer le fichier avec vi ou vim : | + | |
<code user>vi liste4-vim</code> | <code user>vi liste4-vim</code> | ||
ou | ou | ||
Ligne 917: | Ligne 991: | ||
{{http://pix.toile-libre.org/upload/original/1407922486.png?400}} | {{http://pix.toile-libre.org/upload/original/1407922486.png?400}} | ||
- | ===Syntaxe d'utilisation des ER=== | ||
- | * **recherche** en __mode interactif tapez (/)__ : | + | ===utilisation de \| === |
- | + | ||
- | /expression-rationnelle-basique | + | |
- | + | ||
- | <note tip> | + | |
- | * /chaîne ou ER - rechercher ce qui correspond à chaîne ou les chaînes correspondant à ER | + | |
- | + | ||
- | * n - rechercher l'occurrence suivant de la chaîne | + | |
- | + | ||
- | * N - rechercher l'occurrence précédente de chaîne | + | |
- | </note> | + | |
- | + | ||
- | * **substitution d'une occurrence** (depuis le mode interactif passer en __mode commande (:)__ : | + | |
- | + | ||
- | :[adresse[,adresse]]s/expression-rationnelle-basique/remplacement/[drapeau] | + | |
- | + | ||
- | * **substitution sur tout le texte**, ou une portion __en mode commande (:)__ : | + | |
- | + | ||
- | :adresse%s/chaine_a_remplacer/chaine_de_remplacement/ | + | |
- | + | ||
- | <note tip> | + | |
- | *g - drapeau - remplacer toutes les occurrences de le //ER// (si cette option n'est pas utilisée, vi substituera que la prochaine occurrence du motif) | + | |
- | + | ||
- | *c - drapeau - confirmer le remplacement | + | |
- | + | ||
- | *i - drapeau - ignorer la casse (prend en compte toutes les occurrences de la chaîne en majuscules ou en minuscules) | + | |
- | </note> | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===Exemples de recherches === | + | |
- | * le caractère début de ligne ^ | + | |
- | <code> | + | |
- | /^chose | + | |
- | </code> | + | |
- | On appuie sur la touche shift+: pour inscrire ''/'', on inscrit sa ER, on valide avec la touche "entrée". vi ou vim surligne toutes les occurrences de "chose" qui sont en début de ligne. | + | |
- | + | ||
- | <code>nohlsearch</code> | + | |
- | Pour retirer la surbrillance de la recherche. | + | |
- | + | ||
- | * le caractère fin de ligne $ | + | |
- | <code> | + | |
- | /chose$ | + | |
- | </code> | + | |
- | On valide avec entrée, et ''nohlsearch'' pour effacer | + | |
- | + | ||
- | * sous-chaîne avec parenthèses et accolades : | + | |
- | <code> | + | |
- | \([0-9]\{3\}.\)\{2\} | + | |
- | </code> | + | |
- | Vi ou vim surligne à la ligne 9 (comportant "123.3456.abc") la sous-chaîne **''123.3456.''**. | + | |
- | + | ||
- | ===Exemples de substitution=== | + | |
- | + | ||
- | * crochets : | + | |
- | <code> | + | |
- | :s/[Ss]/XXX/g | + | |
- | </code> | + | |
- | >Substitue les caractères "S" ou "s" à la ligne du curseur et surligne toutes les occurrences potentiellement substituables. | + | |
- | > **''nohlsearch''** pour retirer la surbrillance. | + | |
- | >puis pour annuler la substitution "Échap", puis appuyer sur la lettre "u" ("u" pour annuler un seul changement, "U" pour annuler plusieurs changement sur une ligne. | + | |
- | + | ||
- | * idem sur tout le texte : | + | |
- | <code> | + | |
- | :1,$s/[Ss]/XXX/g | + | |
- | </code> | + | |
- | + | ||
- | >"1,$" est l'adressage qui signifie de la première ligne à la fin. | + | |
- | + | ||
- | * utilisation de \| : | + | |
<code>/c\|t</code> | <code>/c\|t</code> | ||
Ligne 995: | Ligne 998: | ||
{{http://pix.toile-libre.org/upload/original/1407937898.png?400}} | {{http://pix.toile-libre.org/upload/original/1407937898.png?400}} | ||
- | * Utilisation de \? : | + | ===Utilisation de \? === |
<code>/\.[0-9]\?</code> | <code>/\.[0-9]\?</code> | ||
Ligne 1001: | Ligne 1004: | ||
{{http://pix.toile-libre.org/upload/original/1407857157.png?400}} | {{http://pix.toile-libre.org/upload/original/1407857157.png?400}} | ||
- | * Utilisation de \+ : | + | ===Utilisation de \+ === |
<code>/[A-Z]\+</code> | <code>/[A-Z]\+</code> | ||
-> Là aussi :\\ | -> Là aussi :\\ |