Welcome, visitor! [ Login

 

how to search and replace in vim ?

  • State: Utah
  • Country: United States
  • Listed: 2 February 2024 15h11
  • Expires: This ad has expired

Description

how to search and replace in vim ?

**Maîtriser la recherche et le remplacement dans Vim : Guide étape par étape avec des exemples**

Vim, le puissant éditeur de texte, offre de nombreuses commandes pour une édition efficace. L’une de ses fonctionnalités les plus puissantes est la commande `:%s//`. Que vous nettoyiez du code, des fichiers ou de grands documents, apprendre à utiliser la recherche et le remplacement de Vim vous fera économiser des heures de défilement et de saisie. Plongeons dans la façon de maîtriser cette fonctionnalité surpuissante.

### La commande de substitution : le cœur de la recherche et du remplacement

La commande `:substitute` (abrégée en `:s`) de Vim est l’épine dorsale des opérations de recherche et de remplacement. Voici la syntaxe :

“`vim
[start,line-end]s/old_pattern/new_string/[flags]
“`

– **Plage**: Spécifie où appliquer le changement (par exemple, `10,20` pour les lignes 10-20, ou `%` pour tout le fichier). Par défaut, la ligne courante si aucune plage n’est spécifiée.
– **Motif/Remplacement**: Remplace toutes les instances de `old_pattern` par `new_string`.
– **Indicateurs**: Options comme `g`, `c` ou `i` qui modifient le comportement de la commande.

### Indicateurs essentiels : affiner votre recherche

Ajoutez des indicateurs pour contrôler comment les substitutions fonctionnent :

| **Indicateur** | **Fonction** |
|———-|——————————–|
| `g` | Remplace **toutes les instances sur une ligne** (sans cela, remplace uniquement la première correspondance). |
| `c` | Demande une confirmation **avant chaque remplacement**. |
| `i` | Ignore la casse (par exemple, remplace “Apple”, “apple”, “APPLE”). |
| `ic` | Combine les indicateurs pour les remplacements insensibles à la casse et confirmés. |

### Exemples concrets que vous utiliserez quotidiennement

####1. **Remplacer la première occurrence sur la ligne courante**
“`vim
:s/old/new/
“`
Cela change la première instance de “old” en “new” sur la ligne active.

####2. **Remplacer toutes les instances sur une ligne (échange global)**
“`vim
:s/old/new/g
“`
L’indicateur `g` indique à Vim de remplacer chaque “old” sur la ligne.

####3. **Remplacer sur plusieurs lignes (tout le fichier)**
“`vim
:%s/old/new/g
“`
Utilisez `%` pour spécifier “toutes les lignes de ce fichier” et `g` pour remplacer toutes les instances.

####4. **Demander une confirmation avant de remplacer — Avec confirmation**
“`vim
:%s/old/new/gc
“`
Ajoutez `c` pour confirmer chaque substitution. Parfait pour des modifications prudentes !

####5. **Remplacement insensible à la casse**
“`vim
:%s/old/NEW/gi
“`
L’indicateur `i` ignore la casse pour la correspondance, de sorte que “Old”, “OLd” ou “old” seront tous remplacés.

####6. **Combinaison d’indicateurs**
“`vim
:%s/foo/FOO/gic
“`
Combinez les indicateurs pour rendre les remplacements globaux (`g`), insensibles à la casse (`i`) et confirmez (`c` chaque changement.

### Techniques avancées : au-delà du remplacement de base

#### Recherche et remplacement dans des lignes sélectionnées (mode visuel)
1. Entrez en **mode ligne visuelle** : appuyez sur `Shift + v`.
2. Naviguez pour sélectionner des lignes (appuyez sur ↓/↑ ou `gg`/`G` pour le haut/bas).
3. Tapez `:s/old/new/gc` pour appliquer des modifications uniquement aux lignes sélectionnées.

#### Mode interactif : parcourir chaque correspondance manuellement
Si vous voulez de la précision plutôt que de la vitesse :
1. Recherchez un terme avec `/foo`.
2. Appuyez sur `n` pour passer à la correspondance suivante.
3. Appuyez sur `cgn` pour remplacer la correspondance actuelle, puis déplacez-vous à nouveau.

### Conseils de sécurité : “Annuler” lorsque les choses tournent mal
– Si vous faites une erreur : appuyez sur **`u`** pour annuler les modifications **ligne par ligne**.
– Pour annuler une commande en cours de saisie : appuyez sur `Esc`, puis `:q!` pour quitter sans enregistrer.

### Meilleures pratiques pour des remplacements sûrs

1. **Testez petit avant de faire grand** :
Commencez par un petit exemple : `:10,20s/foo/bar` pour essayer des modifications sur un extrait avant tout le fichier.

2. **Sauvegardez d’abord !** :
Enregistrez toujours avant de procéder à de grandes substitutions :
“`bash
:w backup_filename.txt
“`
De cette façon, vous pouvez toujours revenir.

3. **Utilisez `c` pour les confirmations** :
Ajoutez `c` (par exemple, `:%s/old/new/gc`) pour approuver manuellement chaque substitution.

4. **Échappez les caractères spéciaux** :
Les mots avec des symboles (par exemple, `*` ou `.`) doivent être échappés. Utilisez un antislash, comme `.` ou `*`.

### Bonus : jokers, modèles et cas spéciaux

– **Remplacez une correspondance de mot entier** :
Entourez les termes avec “ pour correspondre à des mots entiers (par exemple, `s//banana/>`).

– **Remplacez en utilisant des jokers** :
Utilisez `.+` ou des modèles gourmands pour des modèles. Par exemple :
“`vim
:%s/Version d+.// (supprime un numéro de version comme “v.1.2” → “Version1.2”.)
“`
(Remarque : explorez le tableau de référence rapide des expressions régulières de Vim pour des modèles avancés.)

### Le pouvoir est à vous !

Avec la recherche et le remplacement de Vim maîtrisés, vous pouvez éditer efficacement :

– Corrigez des fautes de frappe à grande échelle dans du code ou des fichiers de configuration.
– Renommez des éléments en bloc sans cliquer sans fin.
– Travaillez plus intelligemment, pas plus dur, avec les superpuissances de la ligne de commande de Vim.

Expérimentez, pratiquez et laissez l’éditeur faire le gros du travail. Bon codage !

### Récapitulatif des commandes clés

| Commande | Résultat |
|—————-|————————————-|
| `:s/old/new/` | Remplace la première correspondance sur la ligne courante. |
| `:.,$s/…` | Remplace de la ligne courante à la fin du fichier. |
| `/%s/…` | Remplace toutes les instances dans tout le fichier. |
| `c` | Invite à confirmer. |

**Attention :** Vérifiez toujours deux fois votre indicateur `g` et la combinaison d’indicateurs. Un `g` manquant ne remplace que la première instance par ligne !

Maintenant, sortez et remplacez les flux de travail inefficaces par la vitesse de Vim !

       

163 total views, 1 today

  

Listing ID: 64965bcf7f02c2db

Report problem

Processing your request, Please wait....

Sponsored Links