Démarrer avec Vim : Les bases
Je me souviens de la toute première fois où j’ai rencontré Vim. J’étais étudiant à l’université, et les ordinateurs du laboratoire du département d’informatique étaient installés avec Ubuntu Linux. Alors que j’avais été exposé à différentes variantes de Linux (comme RHEL) avant même mes années d’université (Red Hat vendait ses CD chez Best Buy !), c’était la première fois que j’avais besoin d’utiliser régulièrement le système d’exploitation Linux, car mes cours m’y obligeaient. Une fois que j’ai commencé à utiliser Linux, comme beaucoup d’autres avant et après moi, j’ai commencé à me sentir comme un » vrai programmeur « .
1_xkcdcartoon.jpg
Real Programmers, by xkcd
Les étudiants pouvaient utiliser un éditeur de texte graphique comme Kate, qui était installé par défaut sur les ordinateurs du laboratoire. Pour les étudiants qui pouvaient utiliser le shell mais n’étaient pas habitués à l’éditeur basé sur la console, le choix populaire était Nano, qui fournissait de bons menus interactifs et une expérience similaire à l’éditeur de texte graphique de Windows.
J’ai utilisé Nano parfois, mais j’ai entendu des choses impressionnantes sur Vi/Vim et Emacs et je voulais vraiment les essayer (principalement parce qu’ils avaient l’air cool, et j’étais aussi curieux de voir ce qui était si génial à leur sujet). La première fois que j’ai utilisé Vim, j’ai eu peur – je ne voulais pas tout gâcher ! Mais une fois que j’ai pris le coup de main, les choses sont devenues beaucoup plus faciles et j’ai pu apprécier les puissantes capacités de l’éditeur. Quant à Emacs, eh bien, j’ai en quelque sorte abandonné, mais je suis heureux d’être resté avec Vim.
Dans cet article, je vais parcourir Vim (sur la base de mon expérience personnelle) juste assez pour que vous puissiez vous en sortir comme éditeur sur un système Linux. Cela ne fera pas de vous un expert ni même effleurer la surface de nombreuses capacités puissantes de Vim. Mais le point de départ compte toujours, et je veux rendre l’expérience de début aussi facile que possible, et vous pouvez explorer le reste par vous-même.
Étape 0 : ouvrir une fenêtre de console
Avant de sauter dans Vim, vous devez faire une petite préparation. Ouvrez un terminal de console à partir de votre système d’exploitation Linux. (Comme Vim est également disponible sur MacOS, les utilisateurs de Mac peuvent utiliser ces instructions, également.)
Une fois qu’une fenêtre de terminal est ouverte, tapez la commande ls pour lister le répertoire actuel. Ensuite, tapez mkdir Tutorial pour créer un nouveau répertoire appelé Tutorial. Allez dans ce répertoire en tapant cd Tutorial.
C’est tout pour la préparation. Il est maintenant temps de passer à la partie amusante : commencer à utiliser Vim.
Etape 1 : créer et fermer un fichier Vim sans enregistrer
Vous vous souvenez quand j’ai dit que j’avais peur d’utiliser Vim au début ? Eh bien, ce qui était effrayant, c’était de penser : » Et si je modifiais un fichier existant et que je mettais le bazar ? « . Après tout, plusieurs devoirs d’informatique me demandaient de travailler sur des fichiers existants en les modifiant. Je voulais savoir : Comment puis-je ouvrir et fermer un fichier sans enregistrer mes modifications ?
La bonne nouvelle est que vous pouvez utiliser la même commande pour créer ou ouvrir un fichier dans Vim : vim <FILE_NAME>, où <FILE_NAME> représente le nom du fichier cible que vous souhaitez créer ou modifier. Créons un fichier nommé HelloWorld.java en tapant vim HelloWorld.java.
Bonjour, Vim ! Maintenant, voici un concept très important dans Vim, peut-être le plus important à retenir : Vim possède de multiples modes. En voici trois que vous devez connaître pour faire les bases de Vim :
Mode | Description |
---|---|
Normal | Défaut ; pour la navigation et l’édition simple | Insert | Pour insérer et modifier explicitement du texte | Ligne de commande | Pour des opérations comme l’enregistrement, la sortie, etc. |
Vim possède d’autres modes, comme Visual, Select et Ex-Mode, mais les modes Normal, Insert et Command Line sont suffisants pour nous.
Vous êtes maintenant en mode Normal. Si vous avez du texte, vous pouvez vous déplacer avec vos touches fléchées ou d’autres frappes de navigation (que vous verrez plus tard). Pour vous assurer que vous êtes en mode Normal, il suffit d’appuyer sur la touche Echap (Escape).
Tip : Echap permet de passer en mode Normal. Même si vous êtes déjà en mode Normal, appuyez sur Esc juste pour vous entraîner.
Maintenant, cela va être intéressant. Appuyez sur : (la touche deux-points) suivi de q ! (c’est-à-dire :q !). Votre écran ressemblera à ceci :
Appuyer sur les deux points en mode Normal fait passer Vim en mode Ligne de commande, et la commande :q ! quitte l’éditeur Vim sans enregistrer. En d’autres termes, vous abandonnez toutes les modifications. Vous pouvez également utiliser ZQ ; choisissez l’option qui vous convient le mieux.
Dès que vous appuyez sur Entrée, vous ne devriez plus être dans Vim. Répétez l’exercice plusieurs fois, juste pour avoir le coup de main. Une fois que c’est fait, passez à la section suivante pour apprendre comment apporter une modification à ce fichier.
Étape 2 : faire et enregistrer des modifications dans Vim
Réouvrez le fichier en tapant vim HelloWorld.java et en appuyant sur la touche Entrée. Le mode insertion est l’endroit où vous pouvez apporter des modifications à un fichier. D’abord, appuyez sur Esc pour vous assurer que vous êtes en mode Normal, puis appuyez sur i pour passer en mode Insertion. (Oui, c’est la lettre i.)
Dans le coin inférieur gauche, vous devriez voir — INSERT –. Cela signifie que vous êtes en mode Insertion.
Tapez du code Java. Vous pouvez taper ce que vous voulez, mais voici un exemple que vous pouvez suivre. Votre écran ressemblera à ceci:
public class HelloWorld {
public static void main(String args) {
}
}
Très joli ! Remarquez comment le texte est mis en évidence dans les couleurs de la coloration syntaxique de Java. Comme vous avez commencé le fichier en Java, Vim détectera la couleur syntaxique.
Enregistrez le fichier. Appuyez sur Esc pour quitter le mode insertion et passer en mode ligne de commande. Tapez : et faites suivre cela de x ! (c’est-à-dire un deux-points suivi de x et de !). Appuyez sur Entrée pour enregistrer le fichier. Vous pouvez également taper wq pour effectuer la même opération.
Vous savez maintenant comment saisir du texte en utilisant le mode Insertion et enregistrer le fichier en utilisant 😡 ! ou :wq.
Étape 3 : Navigation de base dans Vim
Bien que vous puissiez toujours utiliser vos sympathiques boutons fléchés Haut, Bas, Gauche et Droite pour vous déplacer dans un fichier, cela serait très difficile dans un gros fichier avec des lignes presque innombrables. Il est également utile de pouvoir se déplacer à l’intérieur d’une ligne. Bien que Vim ait une tonne de fonctionnalités de navigation géniales, la première que je veux vous montrer est comment aller à une ligne spécifique.
Appuyez sur la touche Esc pour vous assurer que vous êtes en mode Normal, puis tapez :set number et appuyez sur Entrée .
Voila ! Vous voyez des numéros de ligne à gauche de chaque ligne.
:2
Mais passez maintenant à la ligne 3.
Mais imaginez un scénario où vous avez affaire à un fichier de 1 000 lignes et où vous voulez aller à la fin du fichier. Comment y parvenir ? Assurez-vous d’être en mode Normal, puis tapez :$ et appuyez sur Entrée.
Vous serez sur la dernière ligne !
Maintenant que vous savez comment sauter parmi les lignes, en bonus, apprenons à nous déplacer vers la fin d’une ligne. Assurez-vous que vous êtes sur une ligne contenant du texte, comme la ligne 3, et tapez $.
Vous êtes maintenant au dernier caractère de la ligne. Dans cet exemple, l’accolade ouverte est mise en évidence pour montrer où votre curseur s’est déplacé, et l’accolade de fermeture est mise en évidence parce qu’elle est le caractère correspondant de l’accolade d’ouverture.
C’est tout pour la navigation de base dans Vim. Attendez, ne quittez pas le fichier pour autant. Passons à l’édition de base dans Vim. N’hésitez pas à prendre une tasse de café ou de thé, cependant.
Étape 4 : édition de base dans Vim
Maintenant que vous savez comment naviguer dans un fichier en sautant sur la ligne que vous voulez, vous pouvez utiliser cette compétence pour faire de l’édition de base dans Vim. Passez en mode insertion. (Vous vous souvenez comment faire, en appuyant sur la touche i ?) Bien sûr, vous pouvez éditer en utilisant le clavier pour supprimer ou insérer des caractères, mais Vim offre des moyens beaucoup plus rapides pour éditer des fichiers.
Déplacez-vous à la ligne 3, où il est indiqué public static void main(String args) {. Appuyez rapidement sur la touche d deux fois de suite. Oui, c’est bien dd. Si vous l’avez fait avec succès, vous verrez un écran comme celui-ci, où la ligne 3 a disparu, et chaque ligne suivante s’est déplacée vers le haut d’une unité (c’est-à-dire que la ligne 4 est devenue la ligne 3).
C’est la commande delete. N’ayez pas peur ! Appuyez sur u et vous verrez la ligne supprimée récupérée. Ouf. C’est la commande undo.
La prochaine leçon consiste à apprendre à copier et coller du texte, mais d’abord, vous devez apprendre à mettre en évidence du texte dans Vim. Appuyez sur v et déplacez vos boutons fléchés gauche et droite pour sélectionner et désélectionner du texte. Cette fonctionnalité est également très utile lorsque vous montrez du code à d’autres personnes et que vous voulez identifier le code que vous voulez qu’elles voient.
Déplacez-vous à la ligne 4, où il est écrit System.out.println(« Hello, Opensource ») ;. Mettez en évidence toute la ligne 4. C’est fait ? OK, pendant que la ligne 4 est toujours en surbrillance, appuyez sur y. C’est ce qu’on appelle le mode » yank « , et cela va copier le texte dans le presse-papiers. Ensuite, créez une nouvelle ligne en dessous en saisissant o. Notez que cela vous fera passer en mode Insertion. Pour sortir du mode Insertion, appuyez sur Echap, puis sur p, qui signifie coller. Cela collera le texte copié de la ligne 3 à la ligne 4.
En guise d’exercice, répétez ces étapes mais modifiez également le texte sur vos lignes nouvellement créées. Assurez-vous également que les lignes sont bien alignées.
Introduction : vous devez passer du mode Insertion au mode Ligne de commande pour accomplir cette tâche.
Une fois que vous avez terminé, enregistrez le fichier avec la commande x ! C’est tout pour l’édition de base dans Vim.
Étape 5 : Recherche de base dans Vim
Imaginez que votre chef d’équipe veuille que vous changiez une chaîne de texte dans un projet. Comment pouvez-vous le faire rapidement ? Vous pourriez vouloir rechercher la ligne en utilisant un certain mot-clé.
La fonctionnalité de recherche de Vim peut être très utile. Passez en mode ligne de commande en (1) appuyant sur la touche Esc, puis (2) en appuyant sur la touche colon :. Nous pouvons rechercher un mot-clé en entrant :/<SEARCH_KEYWORD>, où <SEARCH_KEYWORD> est la chaîne de texte que vous voulez trouver. Ici, nous recherchons la chaîne de mots clés « Hello ». Dans l’image ci-dessous, les deux points sont manquants mais nécessaires.
Cependant, un mot-clé peut apparaître plus d’une fois, et ce n’est peut-être pas celui que vous voulez. Alors, comment naviguer pour trouver la prochaine correspondance ? Vous appuyez simplement sur la touche n, qui signifie suivant. Assurez-vous que vous n’êtes pas en mode insertion lorsque vous faites cela !
Étape bonus : Utiliser le mode fractionné dans Vim
Ceci couvre à peu près toutes les bases de Vim. Mais, en bonus, je veux vous montrer une fonctionnalité sympa de Vim appelée mode split.
Sortez de HelloWorld.java et créez un nouveau fichier. Dans une fenêtre de terminal, tapez vim GoodBye.java et appuyez sur Entrée pour créer un nouveau fichier nommé GoodBye.java.
Entrez le texte que vous voulez ; j’ai décidé de taper « Goodbye ». Enregistrez le fichier. (N’oubliez pas que vous pouvez utiliser 😡 ! ou :wq en mode ligne de commande.)
En mode ligne de commande, tapez :split HelloWorld.java, et voyez ce qui se passe.
Wow ! Regardez ça ! La commande split a créé des fenêtres divisées horizontalement avec HelloWorld.java au-dessus et GoodBye.java en dessous. Comment pouvez-vous passer d’une fenêtre à l’autre ? Maintenez la touche Contrôle (sur un Mac) ou CTRL (sur un PC) puis appuyez sur ww (c’est-à-dire w deux fois de suite).
En guise d’exercice final, essayez de modifier GoodBye.java pour qu’il corresponde à l’écran ci-dessous en faisant un copier-coller depuis HelloWorld.java.
Enregistrez les deux fichiers, et vous avez terminé !
TIP 1 : Si vous voulez disposer les fichiers verticalement, utilisez la commande :vsplit <FILE_NAME> (au lieu de :split <FILE_NAME>, où <FILE_NAME> est le nom du fichier que vous voulez ouvrir en mode Split.
TIP 2 : Vous pouvez ouvrir plus de deux fichiers en appelant autant de commandes split ou vsplit supplémentaires que vous le souhaitez. Essayez et voyez ce que cela donne.