GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rechercher pour trouver un mot dans Vim ou Vi Text Editor

Présentation

Vim et son ancien homologue Vi sont des éditeurs de texte largement utilisés. Ils sont tous deux open source (gratuits) et disponibles sur la plupart des distributions Linux et macOS.

La recherche de mots ou de modèles dans Vim/Vi est une tâche courante qui vous permet de naviguer facilement dans des fichiers volumineux.

Ce tutoriel vous montre comment effectuer une recherche dans Vim/Vi avec des exemples pratiques.

Important  :Assurez-vous que vous êtes en mode normal avant de commencer la recherche. Cela permet de naviguer dans le texte tout en utilisant les commandes normales de l'éditeur. Vi et Vim ouvrent un fichier en mode normal par défaut.
Pour passer en mode normal, appuyez sur Échap .

Recherche de base dans Vim / Vi

Il existe deux manières de rechercher un motif de chiffres ou de lettres dans l'éditeur de texte Vim/Vi.

1. Recherche vers l'avant pour le motif spécifié

2. Rechercher en arrière pour le motif spécifié

La direction est déterminée par rapport à la position du curseur.

Rechercher en avant le résultat suivant d'un mot

Pour rechercher vers l'avant , utilisez la commande :

/pattern

Remplacer le pattern avec le ou les éléments que vous souhaitez rechercher.

Par exemple, pour rechercher toutes les instances du modèle "root" , vous :

1. Appuyez sur Échap pour vous assurer que Vim/Vi est en mode normal.

2. Tapez la commande :

/root

L'éditeur de texte met en surbrillance la première occurrence du motif après le curseur. Dans l'image ci-dessous, vous pouvez voir que le résultat fait partie d'un mot qui contient le motif spécifié. C'est parce que la commande ne spécifie pas de rechercher des mots entiers.

À partir de cette position, sélectionnez Entrée et :

  • passer à l'instance suivante du motif dans la même direction avec n
  • passez à l'instance suivante du motif dans la direction opposée avec N

Rechercher un mot en arrière

Pour rechercher en arrière saisissez :

?pattern

Remplacer le pattern avec le ou les éléments que vous souhaitez rechercher.

Par exemple, pour rechercher toutes les instances du modèle "nologin" , vous :

1. Appuyez sur Échap pour vous assurer que Vim/Vi est en mode normal.

2. Tapez la commande :

?nologin

Vim/Vi met en surbrillance la première instance du motif spécifié avant le curseur.

Appuyez sur Entrée pour confirmer la recherche. Ensuite, vous pouvez :

  • passer à l'instance suivante du modèle dans la même direction avec n
  • passer à l'instance suivante du motif dans la direction opposée avec N

Rechercher le mot actuel

Le mot courant est le mot où se trouve le curseur.

Au lieu de spécifier le motif et d'inviter Vim/Vi à le trouver, déplacez le curseur sur un mot et demandez-lui de trouver l'instance suivante de ce mot.

1. Tout d'abord, assurez-vous que vous êtes en mode normal en appuyant sur Échap .

2. Ensuite, déplacez le curseur sur le mot souhaité.

3. À partir de là, vous pouvez :

  • Rechercher l'instance suivante du mot avec *
  • Rechercher l'instance précédente du mot avec #

Chaque fois que vous appuyez sur * ou # le curseur passe à l'instance suivante/précédente.

Rechercher des mots entiers

Pour rechercher des mots entiers, utilisez la commande :

/\<word\>

L'éditeur de texte ne met en surbrillance que le premier mot entier précisément comme spécifié dans la commande.

Ouvrir un fichier à un mot spécifique

Vim (et Vi) peuvent ouvrir des fichiers à un mot spécifié vous permettant de sauter une étape et d'aller directement au terme recherché.

Pour ouvrir un fichier à un mot spécifique, utilisez la commande :

vim +/word [file_name]

ou

vi +/word [file_name]

Par exemple, pour ouvrir le fichier /etc/passwd fichier où il utilise pour la première fois le terme "root" , utilisez la commande :

vim +/root /etc/passwd

L'éditeur de texte ouvre le fichier et la première ligne qu'il affiche est celle contenant le terme "root" , comme dans l'image ci-dessous.

Recherche insensible à la casse

Par défaut, Vi(m) est sensible à la casse lors de la recherche dans le fichier. Par exemple, si vous recherchez le terme /user il n'affiche pas les résultats avec le U en majuscule (c'est-à-dire, Utilisateur ).

Il existe plusieurs façons de rendre Vim/Vi insensible à la casse.

  • Pour rechercher un mot spécifié avec l'attribut insensible à la casse, exécutez la commande :
/\<word\>\c

Le \c ordonne à Vi(m) d'ignorer la casse et d'afficher tous les résultats.

  • Une alternative consiste à configurer Vim pour qu'il ignore la casse pendant toute la session pour toutes les recherches. Pour ce faire, exécutez la commande :
:set ignorecase
  • Enfin, le fichier de configuration peut être modifié pour que l'éditeur de texte ignore définitivement la casse. Ouvrez le ~/.vimrc fichier et ajoutez la ligne :set ignorecase .

Mettre en surbrillance les résultats de la recherche

Vi(m) a une fonction utile qui met en évidence les résultats de la recherche dans le fichier. Pour activer la surbrillance, saisissez la commande suivante dans l'éditeur de texte :

:set hlsearch

Pour désactiver cette fonctionnalité, exécutez :

:set !hlsearch

Historique des recherches

Vi(m) conserve la trace des commandes de recherche utilisées dans la session. Parcourez les commandes précédemment utilisées en tapant ? ou / et en utilisant le haut et vers le bas clés.


Linux
  1. Comment installer Vim (vi) sur Windows 10

  2. Comment rechercher dans des fichiers spécifiques correspondant à un modèle ?

  3. Comment rechercher un texte spécifique à l'aide de GREP sous Linux

  4. Éditeur Vi et Vim :12 exemples puissants de recherche et de remplacement

  5. comment faire une recherche vim recherche inverse pour toutes les lignes sans texte

Comment rechercher et remplacer du texte, un mot ou une chaîne dans un fichier

Comment installer l'éditeur de texte Vim sur Debian 10

Comment installer l'éditeur de texte Vim sur CentOS 8

Comment installer l'éditeur de texte VIM sur Ubuntu ?

Comment installer Vim sur Ubuntu

Comment rechercher et remplacer du texte dans Vim