Tous les produits
Search
Centre de documentation

Cloud Shell:Utiliser l'éditeur Vim

Dernière mise à jour :Aug 29, 2026

Basculez entre les modes de Vim, utilisez les commandes d'édition de base et effectuez des tâches courantes telles que la recherche, le remplacement et la mise en commentaire du code.

Installation

Vim est préinstallé sur la plupart des systèmes Linux. Exécutez vim --version pour vérifier la version installée. Cette rubrique utilise Vim 8.0 à titre d'exemple. Les commandes et fonctionnalités peuvent différer selon les versions.

VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Aug 10 2022 11:26:47)
Included patches: 1-1763
Modified by OpenAnolis Community
Compiled by OpenAnolis Community
Enormous version without GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
 ......

Changement de mode

Exécutez vim filename pour ouvrir un fichier en mode Normal. Si le fichier n'existe pas, Vim le crée. Le tableau suivant décrit chaque mode et explique comment basculer entre eux.

image

Mode

Fonction

Changement de mode

Mode Normal

(Normal Mode)

Copier, coller et supprimer des caractères ou des lignes.

  • Exécutez vim <filename> pour ouvrir un fichier en mode Normal.

  • Dans les autres modes, appuyez sur Esc pour revenir au mode Normal.

Mode Insertion

(Insert Mode)

Insérer des caractères à la position du curseur.

En mode Normal, appuyez sur i,I,a,A,o,O pour passer en mode Insertion.

Remarque

Lorsque le mode Insertion est actif, -- INSERT -- s'affiche dans le coin inférieur gauche.

Mode Remplacement

(Replace Mode)

Remplacer les caractères à la position du curseur.

En mode Normal, appuyez sur R pour passer en mode Remplacement.

Remarque

Lorsque le mode Remplacement est actif, -- REPLACE -- s'affiche dans le coin inférieur gauche.

Mode Visuel

(Visual Mode)

Sélectionner du texte. Les commandes telles que copier, remplacer et supprimer s'appliquent uniquement au texte sélectionné.

En mode Normal, appuyez sur v pour passer en mode Visuel.

Remarque

Lorsque le mode Visuel est actif, -- VISUAL -- s'affiche dans le coin inférieur gauche.

Mode Commande

(Command Mode)

Rechercher et remplacer des chaînes, afficher les numéros de ligne, enregistrer les modifications et quitter.

En mode Normal, appuyez sur : pour passer en mode Commande.

Commandes de base

Ouverture de fichiers

  • vim filename : Ouvre un fichier en mode Normal. Si le fichier n'existe pas, Vim le crée.

  • vim filename1 filename2 : Ouvre plusieurs fichiers.

    • Vim ouvre d'abord filename1. Enregistrez avec :w, puis exécutez :bn pour basculer vers filename2. Enregistrez filename2 avec :w.

    • :bp : Bascule vers le fichier précédent.

    • :ls : Liste tous les fichiers ouverts.

  • :open filename3 : Ouvre un nouveau fichier en mode Commande. Enregistrez d'abord le fichier actuel avec :w.

Déplacement du curseur

  • En mode Normal

    • Flèche haut / k : Déplacer vers le haut.

    • Flèche bas / j : Déplacer vers le bas.

    • Flèche gauche / h : Déplacer vers la gauche.

    • Flèche droite / l : Déplacer vers la droite.

  • En mode Insertion

    • Utilisez uniquement les touches fléchées.

Insertion de contenu

En mode Normal, appuyez sur i,I,a,A,o,O pour passer en mode Insertion :

  • i : Insérer avant le curseur.

  • I : Insérer au début de la ligne.

  • a : Insérer après le curseur.

  • A : Insérer à la fin de la ligne.

  • o : Ouvrir une nouvelle ligne en dessous.

  • O : Ouvrir une nouvelle ligne au-dessus.

Copie et collage

En mode Normal :

  • yy : Copie la ligne actuelle. Collez avec p.

  • nyy : Copie n lignes à partir de la ligne actuelle. Par exemple, 2yy copie deux lignes.

  • p : Colle sous le curseur.

  • P : Colle au-dessus du curseur.

Suppression

  • En mode Normal

    • x : Supprime le caractère situé sous le curseur.

    • dd : Supprime la ligne actuelle. Collez avec p.

    • dk : Supprime la ligne actuelle et la ligne au-dessus.

    • dj : Supprime la ligne actuelle et la ligne en dessous.

    • dG : Supprime de la ligne actuelle jusqu'à la fin du fichier.

    • nx : Supprime n caractères à partir du curseur.

    • ndd : Supprime n lignes à partir de la ligne actuelle. Collez avec p.

  • En mode Insertion

    • Utilisez Delete pour supprimer des caractères.

Recherche

En mode Normal

  • /text : Recherche text. Par défaut, la recherche respecte la casse. Appuyez sur Entrée pour mettre en surbrillance les correspondances.

    • Pour une recherche insensible à la casse, exécutez :set ignorecase. Pour rétablir la sensibilité à la casse, exécutez :set noignorecase.

  • n : Correspondance suivante.

  • N : Correspondance précédente.

Remplacement

  • En mode Normal

    • r : Remplace le caractère situé sous le curseur.

    • R : Passe en mode Remplacement pour un remplacement continu. Appuyez sur Esc pour quitter.

    • cc : Supprime la ligne actuelle et passe en mode Insertion.

    • :%s/oldtext/newtext/g : Remplace toutes les occurrences de oldtext par newtext. Sans /g, seule la première correspondance par ligne est remplacée.

  • En mode Insertion

    • Supprimez l'ancien contenu et saisissez le nouveau.

Annulation et rétablissement

En mode Normal

  • u : Annule la dernière modification.

  • U : Annule toutes les modifications sur la ligne actuelle.

  • Ctrl+r : Rétablit la dernière modification annulée.

Indentation et alignement

  • En mode Normal

    • >> : Indente la ligne actuelle vers la droite. Indentation par défaut : 8 espaces (une tabulation).

    • << : Indente la ligne actuelle vers la gauche.

  • En mode Commande

    • :ce : Centre la ligne.

    • :le : Aligne la ligne à gauche.

    • :ri : Aligne la ligne à droite.

Mise en commentaire du code

Remarque
  • Sauvegardez le fichier avant d'effectuer des remplacements à grande échelle, ou utilisez la commande d'annulation (u) pour corriger les erreurs. Par exemple, exécutez sudo cp /etc/text.txt /etc/text.txt.bak pour sauvegarder un fichier.

  • Comprenez la syntaxe des expressions régulières de Vim pour éviter de supprimer accidentellement du contenu. Dans les expressions régulières Vim, / doit être échappé sous la forme \/. Entraînez-vous avec des outils tels que Regex101.

  • Ajustez le symbole de commentaire en fonction du langage de programmation.

  • En mode Visuel

    • Mettre en commentaire plusieurs lignes de code consécutives

      1. Sélectionnez les lignes à mettre en commentaire en déplaçant le curseur vers le haut ou le bas.

      2. Appuyez sur : pour passer en mode Commande. Vim remplit automatiquement :'<,'>, qui cible la plage sélectionnée.

      3. Saisissez la commande de remplacement. Par exemple, pour ajouter # au début de chaque ligne, saisissez s/^/#/ et appuyez sur Enter.

    • Mettre en commentaire tout le code : :%s/^/#/g ajoute # au début de chaque ligne.

  • En mode Insertion

    Saisissez manuellement les symboles de commentaire pour mettre le code en commentaire.

Enregistrement et sortie

  • Enregistrer : :w

  • Quitter : :q

  • Enregistrer et quitter : :wq, :x ou ZZ

  • Forcer la sortie sans enregistrer : :q!

  • Forcer l'enregistrement et la sortie : :wq!

Chiffrement des documents

  • vim -x filename : Ouvre un fichier avec chiffrement. Définissez un mot de passe, puis enregistrez le fichier pour que le chiffrement prenne effet. Les ouvertures suivantes nécessitent le mot de passe.

  • Annuler le chiffrement :

    1. Exécutez :set key= pour effacer la clé de chiffrement.

    2. Enregistrez et quittez avec :wq.

    3. Rouvrez le fichier avec vim filename. Aucune invite de mot de passe n'apparaît.

Exécution de commandes shell

  • !pwd : Affiche le répertoire de travail actuel.

  • !ls : Liste les fichiers du répertoire actuel.

Édition multi-fenêtres

  • vim -o filename1 filename2 : Ouvre deux fichiers dans des fenêtres séparées. Quittez chaque fenêtre individuellement.

  • :n : Fenêtre suivante.

  • :N : Fenêtre précédente.

Aide

  • Exécutez vim --help dans le terminal pour afficher la syntaxe des commandes Vim.

  • En mode Normal

    • :help : Ouvre le document d'aide de Vim (lecture seule). Quittez avec :q.

    • :help i : Affiche l'aide pour i.

    • :help yy : Affiche l'aide pour yy.

    • :set nu : Affiche les numéros de ligne.

Exemples d'utilisation

Modifier un fichier de configuration

Insérez Location sur la première ligne de example.conf :

  1. Exécutez vim example.conf pour ouvrir le fichier.

  2. Placez le curseur sur le premier caractère et appuyez sur i pour passer en mode Insertion.

  3. Saisissez Location et appuyez sur Entrée pour commencer une nouvelle ligne.

  4. Appuyez sur Esc pour revenir au mode Normal.

  5. Saisissez :wq pour enregistrer et quitter.

    example-1-1-2.gif

Insérer du contenu sur une ligne cible

Insérez # au début de la ligne 10 dans example.conf :

  1. Exécutez vim example.conf pour ouvrir le fichier.

  2. Exécutez :10 pour déplacer le curseur vers la ligne 10.

  3. Appuyez sur i pour passer en mode Insertion.

  4. Saisissez #.

  5. Appuyez sur Esc pour revenir au mode Normal.

  6. Saisissez :wq pour enregistrer et quitter.

    example-2-1-2.gif

Rechercher et insérer du contenu

Dans example.conf, insérez LoadModule rewrite_module modules/mod_rewrite.so après Include conf.modules.d/*.conf :

  1. Exécutez vim example.conf pour ouvrir le fichier.

  2. Recherchez la ligne cible : /Include conf.modules.d/*.conf

  3. Appuyez sur i pour passer en mode Insertion.

  4. Saisissez LoadModule rewrite_module modules/mod_rewrite.so.

  5. Appuyez sur Esc pour revenir au mode Normal.

  6. Saisissez :wq pour enregistrer et quitter.

    example-3-1-2.gif

Supprimer du contenu

Dans example.conf, supprimez # du début de la ligne #Listen 12.34.XX.XX:80 et supprimez la ligne Listen 80 :

  1. Exécutez vim example.conf pour ouvrir le fichier.

  2. Recherchez la ligne cible : /#Listen 12.34.XX.XX:80. Le curseur se place sur #.

  3. Appuyez sur x pour supprimer #.

  4. Déplacez le curseur vers la ligne Listen 80 et appuyez sur dd pour la supprimer.

  5. Saisissez :wq pour enregistrer et quitter.

    delete-1.gif

Modifier Docker.yaml

Créez et modifiez docker-compose.yaml :

vim docker-yaml-2.gif

Supprimer des commentaires multilignes

  1. Supposons que # se trouve au début d'une ligne, éventuellement précédé d'espaces ou d'indentations :

    # This is a comment
        # Another comment
    # Yet another comment
  2. Supprimez les commentaires :

    :%s/^\s*#\s\?//

    Détail du motif :

    • ^ : Début de ligne.

    • \s* : Tout espace blanc (gère l'indentation).

    • # : Symbole de commentaire.

    • \s\? : Un espace facultatif après #.

    • // : Remplace la correspondance par rien (la supprime).

    Cette commande traite l'intégralité du fichier. Résultat :

    This is a comment
    Another comment
    Yet another comment

Mettre à jour Vim

Si votre version de Vim ne répond pas à vos besoins, mettez-la à niveau à l'aide des commandes suivantes.

Alibaba Cloud Linux 3 et 2

sudo yum update vim

CentOS 7 et 8

sudo yum update vim

Fedora

sudo yum update vim

Ubuntu et Debian

sudo apt upgrade vim

openSUSE

sudo zypper update vim

Dépannage

  • « No write since last change » lors de la sortie :

    • Cause : Le fichier a été modifié mais non enregistré.

    • Solution : Enregistrez et quittez avec :wq, ou ignorez les modifications avec :q!.

  • Impossible de saisir du texte :

    • Cause : Vous êtes peut-être dans un mode autre que le mode Insertion, tel que le mode Visuel.

    • Solution : Appuyez sur Esc pour revenir au mode Normal, puis passez en mode Insertion.

  • Impossible d'enregistrer le fichier :

    • Cause : L'utilisateur actuel ne dispose pas des autorisations d'écriture. Les fichiers de configuration système tels que /etc/hosts et /etc/nginx/nginx.conf nécessitent des autorisations de superutilisateur.

    • Solution 1 : Ouvrez le fichier avec sudo vim example.conf.

    • Solution 2 : Enregistrez avec des privilèges élevés en utilisant :w !sudo tee %. Vous pouvez également modifier les autorisations ou la propriété du fichier avec sudo chown ou sudo chmod.

  • Un fichier « .swp » existe :

    • Cause : Le fichier est ouvert dans une autre session Vim.

    • Solution : Vérifiez qu'aucun autre terminal n'est en train de modifier le fichier. Si ce n'est pas le cas, trouvez et supprimez le fichier .swp avec ll -a, puis rouvrez le fichier. Vous pouvez également exécuter :recover pour restaurer à partir du fichier d'échange.