Guide complet de l'éditeur vim sous Linux

vim représente l'outil de référence pour l'édition de fichiers sous système Linux, fonctionnant de manière analogue au Bloc-notes ou Microsoft Word sous Windows. Cette commande mérite une attention particulière compte tenu de son utilisation récurrente dans les tâches d'administration système. Il existe également l'utilitaire vi, dont vim constitue la version améliorée avec des fonctionnalités additionnelles. Un atout majeur de vi réside dans son comportement lors du collage : il préserve strictement le contenu sans introduier de caractères de formatage parasites.

  1. Mode d'emploi de vim

2.1. Syntaxe de base

vim [nom_du_fichier]

2.2. Les quatre modes de vim

La transition entre les modes s'effectue toujours depuis le mode normal. Par exemple, pour basculer du mode insertion vers le mode commande, il convient d'abord d'appuyer sur Échap pour revenir au mode normal, puis d'utiliser Maj + : pour accéder au mode commande.

2.2.1. Mode normal

Le mode normal constitue l'état par défaut de vim. La zone de statut inférieure reste vierge. Quel que soit le mode actif, un appui sur Échap permet de revenir au mode normal.

2.2.2. Mode insertion

L'activation du mode insertion provoque l'affichage de INSERT dans la barre inférieure. Pour basculer depuis le mode normal, utilisez l'une des touches suivantes : i, a, A, o ou O.

  • i : active le mode insertion à la position actuelle du curseur
  • a : positionne le curseur un caractère après la position courante
  • A :place le curseur à la fin de la ligne active
  • o : crée une ligne vierge sous la position actuelle du curseur
  • O : inserts a blank line above the current cursor position

2.2.3. Mode commande

L'accès au mode commande provoque l'apparition du caractère : enbas de l'écran. Depuis le mode normal, utilisez Maj + : ou directement / pour y accéder. Les commandes principales sont détaillées plus loin.

2.2.4. Mode visuel

L'activation du mode visuel affiche VISUAL BLOCK dans la barre inférieure. L'accès s'effectue depuis le mode normal.

Sélection par bloc (Ctrl + v)

  • Insertion : appuyez sur Ctrl + v pour entrer en mode visuel, puis sur Maj + i pour basculer en mode insertion. Saisissez le contenu souhaité et appuyez sur Échap pour valider. Chaque ligne sélectionnéerecevra cette modification. Pour commenter l'ensemble des lignes d'un fichier avec #, sélectionnez les lignes concernées en mode visuel, puis ajoutez # sur la première ligne — les autres lignes seront automatiquement mises à jour.
  • Suppression : après avoir sélectionné le contenu avec Ctrl + v, appuyez sur x ou d pour supprimer
  • Remplacement : sélectionnez le contenu, puis appuyez sur r suivi du nouveau caractère

Sélection de lignes complètes (Maj + v)

  • Pour copier : sélectionnez les lignes puis appuyez sur y
  • Pour supprimer : sélectionnez les lignes puis appuyez sur d

2.3. Navigasion du curseur

G               Déplace le curseur vers la dernière ligne du fichier
gg              Positionne le curseur au début du fichier
:15             Saute directement à la ligne 15
vim fichier +15 Ouvre le fichier à la ligne 15

2.4. Navigation entre pages

Ctrl+f          Avance d'une page vers le bas
Ctrl+b          Recule d'une page vers le haut

2.5. Copier-coller

yy              Copie la ligne actuelle
5yy             Copie la ligne courante ainsi que les 4 lignes suivantes
p (minuscule)   Colle après la position du curseur
P (majuscule)   Colle avant la position du curseur

2.6. Suppression, coupe et annulation

dd              Supprime la ligne complète où se trouve le curseur
5dd             Supprime la ligne courante plus les 4 lignes suivantes
dG              Efface toutes les lignes depuis la position actuelle
x               Supprime le caractère sous le curseur
u               Annule la dernière opération
dd & p          Coupe une ligne (suppression followed de collage)

2.7. Remplacement de caractères

r               Remplace le caractèreunique sous le curseur
  1. Recherche dans un fichier

3.1. Recherche de contenu

/[terme]        Exemple : /exemple

3.2. Suppression des surlignages

/[texte_inexistant]  Exemple : /xyz (doit être un terme absent du fichier)
  1. Opérations en mode commande

4.1. Remplacement de contenu

:1,5s#utilisateur#admin#g      Remplace 'utilisateur' par 'admin' dans les lignes 1 à 5
:%s#utilisateur#admin#g         Remplace 'utilisateur' par 'admin' dans tout le fichier
:%s#utilisateur#admin#gc        Demande confirmation pour chaque occurrence

4.2. Enregistrement et fermeture

:w                     Enregistre les modifications
:q                     Quitte l'éditeur (échoue si modifications non enregistrées)
:wq                    Enregistre et quitte
:q!                    Force la fermeture sans enregistrer
:w /chemin/fichier      Sauvegarde le contenu dans un nouveau fichier

4.3. Comparaison de fichiers

diff fichier1 fichier2

# Alternative via la ligne de commande système
vimdiff fichier1 fichier2

4.4. Variables d'environnement temporaires

:set nu              Affiche les numéros de ligne
:set ic              Ignore la casse lors des recherches
:set ai              Active l'indentation automatique
:set list            Affiche les caractères spéciaux (lignes vides, tabulations)
:set nonu            Désactive la numérotation des lignes

Étiquettes: vim Linux editeur-texte administration-système terminal

Publié le 13 juillet à 22h30