Manuel de l'Utilisateur Expérimenté Solaris

Recherche d'une chaîne de caractères

Une chaîne de caractères est composée d'un ou de plusieurs caractères consécutifs. Elle peut contenir des lettres, des chiffres, des signes de ponctuation, des caractères spéciaux, des espaces, des tabulations ou des retours chariot. Il peut s'agir d'un mot grammatical ou d'une partie de mot.

Pour rechercher une chaîne de caractères, tapez / suivi de la chaîne recherchée et appuyez sur Return. vi positionne le curseur sur la première occurrence de la chaîne trouvée. Par exemple, pour rechercher la chaîne "meta", tapez /meta et appuyez sur Return.

Tapez n pour passer à l'occurrence suivante de la chaîne ou N pour passer à l'occurrence précédente.

Pour effectuer une recherche en arrière dans un fichier, vous pouvez utiliser ? à la place de /. Dans ce cas, les directions n et N sont inversées.

Normalement, les commandes de recherche font la distinction entre majuscules et minuscules : une recherche du mot "chine" ne trouvera pas le mot "Chine." Pour éviter cette distinction, tapez :set ic. Pour revenir au mode par défaut, qui distingue les majuscules des minuscules, tapez :set noic.

Si vi trouve la chaîne recherchée, le curseur s'arrête à la première occurrence de cette dernière. Dans le cas contraire, vi affiche le message : Expression introuvable sur la dernière ligne de l'écran.

Certains caractères spéciaux ( / & ! . ^ * $ \ ?) ont une signification particulière pour le processus de recherche et doivent être «despécialisés» lorsqu'ils sont utilisés pour une recherche. Pour despécialiser un caractère spécial, faites-le précéder d'une barre oblique inversée (\). Par exemple, pour rechercher la chaîne "d'accord ?", tapez /d'accord\? et appuyez sur Return.

Etant donné que ces caractères spéciaux peuvent être interprétés comme des commandes par la fonction de recherche, vous devez indiquer qu'ils sont à inclure dans la chaîne recherchée en les faisant précéder d'une barre oblique inversée. Pour despécialiser une barre oblique inversée, tapez \\.