Recherche

Une des fonctions primordiales d’un éditeur est sa capacité rechercher et substituer des chaines de caractères. Vim est assez bien pourvu de ce côté.
Elle est de plus très simple à utiliser puisqu’il suffit de taper ‘/’ en mode commande pour voir apparaître en bas de l’écran ce caractère. Il suffit ensuite de taper la chaine à rechercher puis de valider par la touche Entrée.
Vim cherchera la prochaine occurrence à partir du curseur en direction de la fin du fichier.

En tapant n, la prochaine occurrence sera recherchée. Sa version majuscule permettra de chercher dans le sens contraire (ie. vers le début du fichier).
Il est possible d’utiliser les quantifieurs. La commande 4n permettra de rechercher la 4ème occurrence.

Si vous souhaitez rechercher vers le haut, il est possible d’utiliser la commande ? en lieu et place de n.

Une option revient souvient dans la fonction de recherche des éditeurs de texte : Ignorer la casse, c’est-à-dire ne pas faire la distinction minuscule/majuscule.
Voici la commande associée à cette option :

:set ignorecase

Pour repasser en mode « prise en compte de la casse » :

:set noignorecase

A noter qu’il existe un historique des recherches récentes. Pour y avoir accès, il suffit simplement de taper / puis la flèche directionnelle vers le haut.
Les touchées fléchées Haut et Bas permettront de naviguer dans l’historique.

Une astuce qui vous fera gagner bien du temps.
Si vous recherchez un mot déjà visible à l’écran, placez le curseur dessus et tapez la commande *. Ceci permettra de rechercher sa prochaine occurrence directement sans avoir à taper le mot. Pour la recherche dans le sens opposé, la commande # fera l’équivalent. La recherche ne sera effectuée que pour les mots entiers uniquement.
Il y aura donc forcément un caractère d’espacement qui précède et succède le mot.

Pour appliquer une recherche sur un mot entier, il faut utiliser les éléments \< et \> qui, vous l’aurez deviné permettent d’indiquer un espacement en début et fin de mot.

Exemple:
/\<vim\>
Recherche le mot vim dans le fichier. S’il existe le mot ‘vime’ dans le fichier, celui-ci ne sera pas trouvé.

Mise en surbrillance des éléments trouvés

De plus en plus, les éditeurs affichent en couleur les éléments trouvés.
Vim fait de même via la commande :set hlsearch.
Les éléments restent en couleur jusqu’à la prochaine recherche.
Pour supprimer cette surbrillance, :nohlsearch vous rendra bien des services.

Recherche incrémentale

La recherche incrémentale permet de rechercher le texte au fur et à mesure de sa saisie. A chaque caractère saisi, vim positionnera le curseur sur la prochaine correspondante, ou restera à sa place si le texte sous le curseur est identique au texte recherché.
:set incsearch

Par défaut Vim fait boucler la recherche. Arrivé en fin de fichier, la recherche recommence automatiquement en début de fichier.
Pour désactiver ce mode, tapez :set nowrapscan.

Laisser un commentaire