Modifier des fichiers texte sous Linux avec Vim et Nano

CompTIABeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez les compétences fondamentales nécessaires pour utiliser deux éditeurs de texte essentiels sous Linux : vi/vim et nano. Ce sont les éditeurs de texte les plus couramment utilisés dans les environnements Linux, chacun possédant ses propres forces et cas d'utilisation.

Vous commencerez par l'éditeur de texte vi, un outil puissant et omniprésent dans les systèmes de type Unix. Vous apprendrez à créer des fichiers, à saisir du texte en mode insertion (Insert Mode), à enregistrer votre travail avec des commandes comme :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 du laboratoire, vous explorerez nano, un éditeur plus convivial, idéal pour les débutants. Vous découvrirez son interface intuitive, apprendrez les opérations d'édition de base et comprendrez quand choisir nano plutôt que vim pour différentes tâches.

À la fin de ce laboratoire, vous serez à l'aise avec les deux éditeurs et saurez quel outil est le mieux adapté aux différentes situations de votre flux de travail sous Linux.

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

Dans cette étape, vous apprendrez à utiliser l'éditeur vi pour créer un nouveau fichier texte et y saisir du texte. vi (et sa version moderne, vim) est un éditeur de texte puissant et omniprésent dans 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 répertoire de travail approprié. Tout le travail de ce laboratoire sera effectué dans le répertoire ~/project.

  1. Ouvrez un terminal. L'invite de commande doit 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 le résultat suivant, 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. Ils 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 à saisir du texte, vous devez passer en mode insertion. Appuyez sur la touche i de votre clavier.

    i
    

    Remarquez qu'en bas de l'écran, -- INSERT -- apparaît. Cela confirme que vous êtes en mode insertion et que vous pouvez maintenant saisir 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 saisi 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 à enregistrer 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 en mode normal.

  1. Pour passer du mode insertion au mode normal, appuyez sur la touche Esc.

    Esc
    

    Vous remarquerez que l'indicateur -- INSERT -- en bas de l'écran disparaît. Cela signifie que vous êtes maintenant en mode normal, où les frappes au clavier sont interprétées comme des commandes plutôt que comme une saisie de texte.

  2. Maintenant, enregistrons le fichier. En mode normal, les commandes précédées de deux-points (:) s'affichent sur une ligne de commande en bas de l'écran. Pour écrire (enregistrer) le fichier, utilisez 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, similaire à 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'écriture du fichier et la fermeture en une seule action. Comme 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 enregistré dans votre répertoire ~/project.

Dans cette étape, vous allez pratiquer certaines des commandes puissantes 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 sont effectuées en mode normal.

  1. Tout d'abord, vous devez rouvrir 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 avec le contenu du fichier affiché. Le curseur sera probablement au début de la première ligne.

  2. Pour vous assurer que le curseur est 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 au premier caractère de la première ligne, qui est 'N' dans notre fichier.

  3. La méthode principale pour déplacer le curseur dans vi consiste à utiliser les touches h, j, k et l. C'est une compétence essentielle 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, recherchons du texte. La commande / est utilisée pour rechercher 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, dans ce cas, a. Appuyez ensuite sur Enter.

    /a
    

    Le curseur sautera au premier 'a' trouvé après la position actuelle de votre curseur.

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

    n
    

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

Vous avez maintenant pratiqué la navigation et la recherche de base. 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 vous n'êtes pas sûr). 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 et l'espace qui le suit disparaître de l'écran. La phrase semble 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 ignorer la modification. La commande pour ce faire est :q!. Le q signifie "quit" et le ! force l'action, en ignorant toute modification non enregistrée.

    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. Comme 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 approfondir

Dans cette étape, vous découvrirez vimtutor, un tutoriel interactif conçu pour vous enseigner les compétences vi/vim de manière pratique. Ce laboratoire a couvert les bases absolues, mais vimtutor propose un cours complet et à votre rythme, fortement recommandé pour 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 il est estimé qu'il faut environ 25 à 30 minutes pour le terminer. Vous pouvez le parcourir à votre propre rythme.

  3. Lorsque vous avez terminé le tutoriel (ou si vous souhaitez partir à tout moment), vous pouvez quitter comme vous le feriez pour n'importe quelle session vi. Comme vous n'avez pas besoin d'enregistrer de modifications dans le fichier du 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 ce laboratoire. En suivant ces étapes, vous avez appris les compétences fondamentales pour créer, modifier, enregistrer et naviguer dans des fichiers avec l'éditeur vi.

Introduction à l'éditeur nano

Dans cette étape, vous apprendrez à utiliser nano, un éditeur de texte convivial, parfait pour les débutants et les modifications rapides. Contrairement à vi, nano affiche des raccourcis utiles en 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 en utilisant nano. Depuis votre invite de commande dans le répertoire ~/project, entrez la commande suivante :

    nano welcome.txt
    

    L'éditeur nano s'ouvrira avec un fichier vide. Remarquez le menu utile en bas qui affiche 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 affichant 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. Dans nano, "Enregistrer" s'appelle Write Out. Appuyez sur Ctrl+O pour lancer l'écriture. Vous verrez une invite demandant le nom du fichier. Le nom actuel welcome.txt est déjà affiché, alors appuyez sur Enter pour confirmer et enregistrer le fichier.

    Vous verrez un message en bas indiquant que le fichier a été écrit avec succès, affichant le nombre de lignes écrites.

  4. Pour quitter nano, appuyez sur Ctrl+X. Comme vous avez déjà enregistré le fichier, nano quittera immédiatement et vous ramènera à l'invite de commande. Si vous appuyez sur Ctrl+X avant d'enregistrer, nano vous demandera si vous souhaitez enregistrer les modifications ; appuyez sur Y puis sur Enter pour enregistrer et quitter.

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

Dans cette dernière étape, vous découvrirez les différences clés entre nano et vi/vim, et comprendrez quand utiliser chaque éditeur. Créons un fichier de comparaison en utilisant les deux éditeurs pour démontrer leurs différences.

  1. Tout d'abord, utilisons 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 le même fichier avec vi pour ajouter plus de 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 en mode normal, puis enregistrez et quittez avec :wq.

  7. Affichons le fichier de comparaison terminé :

    cat editor_comparison.txt
    

    Cela affichera la comparaison complète montrant le contenu ajouté par les deux éditeurs.

Quand utiliser chaque éditeur :

  • Utilisez nano lorsque :

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

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

Les deux éditeurs sont des outils précieux dans la boîte à outils d'un utilisateur Linux, et connaître les deux vous donne de la flexibilité dans différentes situations.

Résumé

Dans ce laboratoire, 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 /, à modifier avec des commandes comme dw et à quitter sans enregistrer avec :q!. Vous avez également découvert le tutoriel interactif vimtutor pour poursuivre votre apprentissage.

Avec nano, vous avez découvert une approche plus conviviale de l'édition de texte. Vous avez appris à créer et à modifier des fichiers sans vous soucier des modes, à utiliser l'interface intuitive avec des raccourcis affichés en bas de l'écran, et à pratiquer des opérations de base comme l'enregistrement et la fermeture de fichiers.

Points clés à retenir :

  • nano est parfait 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 d'apprentissage plus important
  • Les deux éditeurs sont des outils précieux - nano pour la simplicité et vim pour la puissance et la disponibilité
  • Comprendre quand utiliser chaque éditeur vous rendra plus efficace dans différentes situations 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 les deux outils.