Modifier des fichiers texte sous Linux avec Vim et Nano

CompTIABeginner
Pratiquer maintenant

Introduction

Dans cet atelier, vous allez acquérir les compétences de base nécessaires pour utiliser deux éditeurs de texte incontournables sous Linux : vi/vim et nano. Ce sont les outils les plus répandus dans les environnements Linux, chacun possédant ses propres forces et cas d'utilisation.

Vous commencerez par l'éditeur vi, un outil puissant et omniprésent sur les systèmes de type Unix. Vous apprendrez à créer des fichiers, à saisir du texte via le mode Insertion (Insert Mode), à enregistrer votre travail avec des commandes telles que :w et :wq, à naviguer à l'aide des touches de déplacement, à rechercher du texte et à effectuer des opérations d'édition de base comme la suppression de mots.

Dans la seconde partie de l'atelier, vous explorerez nano, un éditeur plus convivial et parfaitement adapté aux débutants. Vous découvrirez son interface intuitive, apprendrez les opérations de modification de base et comprendrez dans quelles situations privilégier nano par rapport à vim.

À l'issue de cet atelier, vous serez à l'aise avec les deux éditeurs et saurez quel outil est le mieux adapté aux différents scénarios de votre flux de travail sous Linux.

Ceci est un atelier guidé, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour terminer chaque étape et acquérir une expérience pratique. Les données historiques montrent qu'il s'agit d'un atelier de niveau avancé avec un taux de réussite de 49%. Il a reçu un taux d'avis positifs de 98% de la part des apprenants.

Créer un fichier et saisir du texte en mode Insertion

Dans cette étape, vous allez apprendre à utiliser l'éditeur vi pour créer un nouveau fichier texte et y saisir du contenu. vi (et sa version moderne vim) est un éditeur de texte puissant et universel sur les systèmes d'exploitation de type Unix. Il fonctionne selon différents modes, les deux plus fondamentaux étant le mode Normal (pour les commandes) et le mode Insertion (pour la saisie de texte).

Tout d'abord, assurons-nous que vous êtes dans le bon répertoire de travail. Tout le travail de cet atelier s'effectuera dans le répertoire ~/project.

  1. Ouvrez un terminal. L'invite de commande devrait indiquer que vous êtes dans le répertoire project. Vous pouvez vérifier le chemin complet avec la commande pwd (print working directory).

    pwd

    Vous devriez voir la sortie suivante, confirmant votre emplacement :

    /home/labex/project
    Terminal affichant le répertoire actuel
  2. Maintenant, lancez l'éditeur vi et créez un nouveau fichier nommé test.txt. Lorsque vous exécutez cette commande, vi démarre et prend le contrôle de votre fenêtre de terminal.

    vi test.txt

    Votre terminal s'effacera et vous verrez un écran avec des tildes (~) sur le côté gauche. Ceux-ci indiquent des lignes vides. Au bas de l'écran, vous verrez le nom du fichier "test.txt" [New File]. Vous êtes actuellement en mode Normal.

  3. Pour commencer à taper du texte, vous devez passer en mode Insertion. Appuyez sur la touche i de votre clavier.

    i

    Remarquez qu'au bas de l'écran, la mention -- INSERT -- apparaît. Cela confirme que vous êtes en mode Insertion et que vous pouvez maintenant taper du texte directement dans le fichier.

  4. Saisissez la phrase suivante :

    Now is the time for all good men to come to the aid of their country.

    Éditeur vi affichant le texte inséré en mode insertion

    À ce stade, le texte que vous avez tapé existe dans la mémoire tampon de l'éditeur mais n'a pas encore été enregistré sur le disque. Dans l'étape suivante, vous apprendrez comment sauvegarder votre travail et quitter l'éditeur.

Enregistrer et quitter le fichier avec :w et :wq

Dans cette étape, vous apprendrez à enregistrer vos modifications et à quitter l'éditeur vi. Ces actions sont effectuées à l'aide de commandes en mode Normal. Comme vous êtes actuellement en mode Insertion suite à l'étape précédente, vous devez d'abord revenir au mode Normal.

  1. Pour repasser du mode Insertion au mode Normal, appuyez sur la touche Esc (Échap).

    Esc

    Vous remarquerez que l'indicateur -- INSERT -- au bas de l'écran disparaît. Cela signifie que vous êtes maintenant en mode Normal, où les touches pressées sont interprétées comme des commandes et non comme de la saisie de texte.

  2. Maintenant, enregistrons le fichier. En mode Normal, les commandes précédées d'un deux-points (:) s'affichent sur une ligne de commande en bas de l'écran. Pour écrire (enregistrer) le fichier, on utilise la commande :w.

    Tapez la séquence suivante et appuyez sur Enter :

    :w

    Après avoir appuyé sur Enter, vi écrira le contenu de la mémoire tampon dans le fichier test.txt. Vous verrez un message de confirmation en bas, semblable à celui-ci :

    "test.txt" [New] 1L, 79C written

    Ce message confirme que le fichier test.txt a été enregistré, contenant 1 ligne et 79 caractères.

  3. Enfin, pour quitter vi, vous pouvez utiliser la commande :q (pour "quit"). Une commande plus courante est :wq, qui combine l'enregistrement du fichier et la sortie en une seule action. Puisque vous êtes déjà en mode Normal, tapez ce qui suit et appuyez sur Enter :

    :wq

    Cette commande enregistre les dernières modifications puis ferme l'éditeur vi, vous ramenant à l'invite de commande de votre terminal. Votre terminal devrait maintenant afficher l'invite habituelle, et le fichier test.txt est bien enregistré dans votre répertoire ~/project.

Dans cette étape, vous allez pratiquer certaines des puissantes commandes de navigation et de recherche de vi. Ces commandes vous permettent de déplacer le curseur et de trouver du texte efficacement sans utiliser la souris. Toutes ces opérations s'effectuent en mode Normal.

  1. Tout d'abord, vous devez ouvrir à nouveau le fichier test.txt. Depuis votre invite de commande dans le répertoire ~/project, entrez la commande suivante :

    vi test.txt

    L'éditeur s'ouvrira en affichant le contenu du fichier. Le curseur se trouvera probablement au début de la première ligne.

  2. Pour vous assurer que le curseur est bien au tout début du fichier, vous pouvez utiliser la commande gg. En mode Normal (appuyez sur Esc si vous n'êtes pas sûr), tapez gg.

    gg

    Le curseur sautera immédiatement sur le premier caractère de la première ligne, qui est le 'N' dans notre fichier.

  3. La méthode principale pour déplacer le curseur dans vi utilise les touches h, j, k et l. C'est une compétence fondamentale pour tout utilisateur de vi.

    • h déplace le curseur d'un caractère vers la gauche.
    • l déplace le curseur d'un caractère vers la droite.
    • j déplace le curseur d'une ligne vers le bas.
    • k déplace le curseur d'une ligne vers le haut.

    Essayez d'appuyer sur ces touches pour déplacer le curseur dans la phrase. Cette méthode de navigation fonctionne dans n'importe quel environnement de terminal.

  4. Maintenant, cherchons du texte. La commande / est utilisée pour effectuer une recherche vers l'avant dans le fichier. Pour rechercher toutes les occurrences de la lettre 'a', suivez ces étapes :
    a. Assurez-vous d'être en mode Normal (appuyez sur Esc).
    b. Tapez / suivi du caractère que vous souhaitez rechercher, ici a. Appuyez ensuite sur Enter.

    /a

    Le curseur sautera sur le premier 'a' qu'il trouve après la position actuelle du curseur.

    c. Pour trouver l'occurrence suivante du même terme, appuyez simplement sur la touche n (pour "next").

    n

    Appuyez sur n plusieurs fois pour parcourir tous les 'a' du fichier.

Vous avez maintenant pratiqué la navigation de base et la recherche. Dans l'étape suivante, vous apprendrez à supprimer du texte.

Supprimer un mot avec dw et quitter sans enregistrer avec :q

Dans cette étape, vous apprendrez à supprimer du texte et à quitter vi sans enregistrer vos modifications. C'est une compétence cruciale lorsque vous faites une erreur et que vous souhaitez revenir à la dernière version enregistrée du fichier. Vous devriez toujours avoir vi ouvert avec le fichier test.txt de l'étape précédente.

  1. Tout d'abord, déplaçons le curseur sur le mot que nous voulons supprimer. Assurez-vous d'être en mode Normal (appuyez sur Esc si nécessaire). Utilisez les touches h et l pour déplacer le curseur jusqu'à ce qu'il soit positionné sur la première lettre du mot time.

  2. Avec le curseur sur le t de time, tapez la commande dw. Cette commande signifie "delete word" (supprimer le mot).

    dw

    Vous verrez le mot time ainsi que l'espace qui le suit disparaître de l'écran. La phrase est maintenant incorrecte, ce qui est parfait pour notre prochaine action.

  3. Vous avez maintenant modifié le fichier dans la mémoire tampon de l'éditeur. Imaginons que cette suppression soit une erreur. Au lieu d'enregistrer cette version incorrecte, vous allez quitter et annuler la modification. La commande pour cela est :q!. Le q signifie "quit" et le ! force l'action, ignorant tout changement non sauvegardé.

    a. Assurez-vous d'être en mode Normal (appuyez sur Esc).
    b. Tapez la commande suivante et appuyez sur Enter :

    :q!

    Cette commande quittera immédiatement l'éditeur vi et vous ramènera à l'invite de commande. Parce que vous avez utilisé :q!, la suppression du mot time n'a pas été enregistrée dans le fichier test.txt. Si vous ouvriez à nouveau le fichier, le mot time serait toujours là.

Lancer le tutoriel interactif vimtutor pour s'entraîner davantage

Dans cette étape, vous allez découvrir vimtutor, un tutoriel interactif conçu pour vous enseigner les compétences vi/vim de manière pratique. Cet atelier a couvert les bases absolues, mais vimtutor propose un cours complet et progressif qui est vivement recommandé à tous les nouveaux utilisateurs.

  1. Vous devriez être à l'invite de commande dans le répertoire ~/project. Pour démarrer le tutoriel, tapez simplement la commande vimtutor et appuyez sur Enter.

    vimtutor
  2. Cette commande ouvre vi avec un fichier de tutoriel spécial. Le fichier lui-même contient toutes les instructions. Vous lirez le texte, puis pratiquerez les commandes décrites directement dans le fichier du tutoriel. C'est un moyen sûr et efficace d'apprendre car vous vous exercez sur une copie temporaire du fichier.

    Le tutoriel est divisé en leçons et dure environ 25 à 30 minutes. Vous pouvez progresser à votre propre rythme.

  3. Lorsque vous avez terminé le tutoriel (ou si vous souhaitez le quitter à tout moment), vous pouvez sortir comme vous le feriez pour n'importe quelle session vi. Comme vous n'avez pas besoin d'enregistrer les modifications apportées au fichier de tutoriel, la meilleure façon de quitter est d'utiliser la commande :q!.

    a. Appuyez sur Esc pour vous assurer d'être en mode Normal.
    b. Tapez :q! et appuyez sur Enter.

    :q!

Ceci conclut la partie pratique de cet atelier sur vi. En suivant ces étapes, vous avez appris les compétences fondamentales pour créer, éditer, enregistrer et naviguer dans des fichiers avec l'éditeur vi.

Introduction à l'éditeur nano

Dans cette étape, vous allez apprendre à utiliser nano, un éditeur de texte convivial, idéal pour les débutants et les modifications rapides. Contrairement à vi, nano affiche des raccourcis utiles au bas de l'écran et ne possède pas de modes différents, ce qui le rend plus intuitif pour les nouveaux utilisateurs.

  1. Tout d'abord, créons un nouveau fichier avec nano. Depuis votre invite de commande dans le répertoire ~/project, entrez la commande suivante :

    nano welcome.txt

    L'éditeur nano s'ouvrira sur un fichier vide. Remarquez le menu d'aide en bas affichant les fonctions disponibles.

  2. Contrairement à vi, vous pouvez commencer à taper immédiatement dans nano sans changer de mode. Copiez et collez le texte suivant :

    Interface de l'éditeur nano montrant les raccourcis en bas
    Welcome to Linux Text Editing!
    
    This file was created using the nano editor.
    Nano is beginner-friendly and intuitive.
    
    Key advantages of nano:
    - No modes to switch between
    - Shortcuts displayed at bottom
    - Easy to learn and use
    - Perfect for quick edits
  3. Maintenant, enregistrons le fichier. Utilisez la fonction de sauvegarde de nano (indiquée par ^O pour "Write Out"). On vous demandera de confirmer le nom du fichier. Le nom actuel welcome.txt est déjà proposé. Appuyez sur Enter pour confirmer et enregistrer.

    Vous verrez un message en bas indiquant que le fichier a été écrit avec succès, précisant le nombre de lignes enregistrées.

  4. Pour quitter nano, utilisez la fonction de sortie (^X). Comme vous avez déjà enregistré le fichier, nano se fermera immédiatement et vous ramènera à l'invite de commande.

Comparaison entre nano et vi/vim : quand utiliser quel éditeur

Dans cette dernière étape, vous découvrirez les principales différences entre nano et vi/vim, et comprendrez quand utiliser l'un ou l'autre. Créons un fichier de comparaison en utilisant les deux éditeurs pour illustrer leurs différences.

  1. Commençons par utiliser nano pour créer un fichier de comparaison :

    nano editor_comparison.txt
  2. Saisissez le contenu suivant dans nano :

    TEXT EDITOR COMPARISON: nano vs vi/vim
    
    NANO EDITOR:
    Pros:
    - Beginner-friendly interface
    - No modes to learn
    - Shortcuts displayed on screen
    - Immediate text input
    - Good for quick edits and simple tasks
    
    Cons:
    - Limited advanced features
    - Less efficient for complex editing
    - Not available on all systems
  3. Enregistrez le fichier et quittez nano.

  4. Maintenant, ouvrons ce même fichier avec vi pour y ajouter du contenu :

    vi editor_comparison.txt
  5. Naviguez jusqu'à la fin du fichier en utilisant G (G majuscule), puis appuyez sur o pour ouvrir une nouvelle ligne et passer en mode Insertion. Ajoutez le contenu suivant :

    VI/VIM EDITOR:
    Pros:
    - Extremely powerful and feature-rich
    - Available on virtually all Unix/Linux systems
    - Highly efficient once mastered
    - Excellent for programming and complex editing
    - Extensive customization options
    
    Cons:
    - Steep learning curve
    - Modal interface can be confusing for beginners
    - Requires memorizing many commands
  6. Appuyez sur Esc pour revenir au mode Normal, puis enregistrez et quittez avec :wq.

  7. Affichons le fichier de comparaison complet :

    cat editor_comparison.txt

    Cela affichera l'intégralité de la comparaison avec le contenu ajouté par les deux éditeurs.

Quand utiliser chaque éditeur :

  • Utilisez nano quand :

    • Vous débutez dans l'édition de texte sous Linux.
    • Vous effectuez des modifications simples et rapides.
    • Vous travaillez occasionnellement sur des fichiers de configuration.
    • Vous préférez une interface directe et intuitive.
  • Utilisez vi/vim quand :

    • Vous faites beaucoup de programmation ou de manipulation de texte.
    • Vous travaillez sur des serveurs distants (vi est toujours présent).
    • Vous avez besoin de fonctionnalités avancées comme les macros, les plugins ou la recherche/remplacement complexe.
    • L'efficacité et la rapidité sont primordiales une fois les commandes maîtrisées.

Les deux éditeurs sont des outils précieux dans la panoplie d'un utilisateur Linux, et connaître les deux vous offre une grande flexibilité selon les situations.

Résumé

Dans cet atelier, vous avez appris à utiliser deux éditeurs de texte essentiels sous Linux : vi/vim et nano.

Avec vi/vim, vous avez maîtrisé les concepts fondamentaux de l'édition modale, en apprenant à basculer entre le mode Normal et le mode Insertion. Vous vous êtes exercé à créer des fichiers, saisir du texte, enregistrer avec :w et :wq, naviguer avec les touches de déplacement (h, j, k, l), rechercher avec /, éditer avec des commandes comme dw, et quitter sans enregistrer avec :q!. Vous avez également découvert l'outil interactif vimtutor pour poursuivre votre apprentissage.

Avec nano, vous avez expérimenté une approche de l'édition de texte plus accessible aux débutants. Vous avez appris à créer et modifier des fichiers sans vous soucier des modes, utilisé l'interface intuitive avec les raccourcis affichés en bas de l'écran, et pratiqué les opérations de base comme l'enregistrement et la sortie.

Points clés à retenir :

  • nano est idéal pour les débutants et les modifications rapides grâce à son interface intuitive et ses raccourcis visibles.
  • vi/vim est plus puissant et efficace pour les tâches d'édition complexes, mais nécessite un investissement plus important dans l'apprentissage.
  • Les deux éditeurs sont des outils précieux : nano pour sa simplicité et vim pour sa puissance et sa disponibilité universelle.
  • Savoir quand utiliser chaque éditeur vous rendra plus efficace dans différents scénarios sous Linux.

Vous disposez désormais des bases pour choisir l'éditeur de texte adapté à vos besoins spécifiques et pouvez continuer à développer vos compétences avec ces deux outils.