post

Vim fr:Premiers pas

Contents

Démarrer Vim

La première étape est, bien entendu, d’apprendre à démarrer Vim.

Version graphique

First vim screenshot.png

Windows
Cliquez sur Démarrer → Programmes → Vim 7 → gVim.
Mac OS X
Cliquez sur Finder → Applications → MacVim.
Linux/BSD
Cliquez sur Applications → Accessoires → GVim Text Editor, ou faites Alt+F2, tapez gvim puis appuyez sur Entrée.

Version terminal

First vim console screenshot.png

Windows
Cliquez sur Démarrer → Exécuter, tapez vim puis appuyez sur entrée.
Mac OS X
Cliquez sur Finder → Applications → Utilitaires0 → Terminal, tapez vim puis appuyez sur Entrée.
Linux/BSD
Cliquez sur Applications → Accessoires → Terminal, ou faire Alt+F2, taper konsole/gnome-terminal puis appuyer sur Entrée. Ensuite, taper vim puis appuyez sur Entrée.

À partir d’ici, lorsque nous dirons ‘ouvrez Vim’, utilisez l’une de deux méthodes mentionnées ci-dessus.

Note
Lorsque vous avez démarré Vim, vous avez peut-être remarqué que vous ne pouvez pas immédiatement entrer du texte. Ne paniquez pas, l’explication vous sera fournie sous peu.

Graphique ou Terminal?

La version graphique de Vim a des menus en haut de l’application de même que différentes options accessibles via la souris, mais notez que cela est complètement optionnel. Vous pouvez accéder à toutes les fonctionnalités de (g)Vim en utilisant seulement le clavier.

Pourquoi est-ce important? Parce que lorsqu’une personne commence à bien saisir, utiliser le clavier vous rend plus rapide et réduira le risque d’erreur, contrairement à l’utilisation de la souris. La raison est que le mouvement de la main pour changer du clavier à la souris est lent et il y a un changement de contexte demandé à l’esprit de la personne passant du clavier à la souris. Si nous prenons l’habitude d’utiliser le clavier autant que possible, nous économisons plusieurs mouvement de la main.

Bien entendu, cela demeure subjectif. Certaines personnes préfèrent la souris et d’autres le clavier. Je vous encourage à utiliser le clavier autant que possible pour pouvoir utiliser pleinement la puissance de Vim.

Introduction aux Modes

Imaginez que vous êtes un samedi soir et qu’il n’y a rien d’intéressant à la télé. Vous voudriez plutôt visionner l’un de vos vieux films préférés. Alors, vous placez votre télé en mode vidéo pour qu’elle puisse montrer ce que votre lecteur DVD affiche plutôt que les chaînes du câble. Notez que la télévision affiche toujours de la vidéo, mais que vous changez de contexte lorsque vous voulez regarder un DVD ou une chaîne du câble.

De la même façon, Vim possède des modes. Par exemple, Vim a un mode pour écrire du texte, un autre pour exécuter des commandes, etc. Ils ont tous pour utilité principale d’écrire du texte, mais vous changez de contexte lorsque vous voulez simplement écrire des choses ou exécuter des commandes sur le texte.
N’est-ce pas la simplicité même?

Traditionnellement, le concept de modes est la raison la plus souvent citée par les débutants pour expliquer pourquoi Vim les rend “confus”. Je compare cela à monter une bicyclette – vous tomberez certainement à quelques reprises, mais lorsque vous en aurez pris l’habitude, vous vous demanderez bien pourquoi ces gens se plaignent.
Alors pourquoi est-ce que Vim a des modes? Pour rendre les choses aussi simples que possible, bien que cela puisse sembler “étrange” de prime abord.
Permettez-moi de m’expliquer. Prenons un exemple – l’un des objectifs premiers de Vim est de rendre tout accessible à partir du clavier uniquement sans jamais avoir à utiliser la souris (vous pouvez toujours l’utiliser si vous le voulez mais cela est entièrement optionnel). Dans un tel scénario, comment distinguer le texte que vous désirez écrire et les commandes que vous voulez exécuter? La solution amenée par Vim est d’avoir un mode “normal” où vous exécutez des commandes et un mode “insertion” où vous écrivez simplement du texte. Vous pouvez passer d’un mode à l’autre à n’importe quel moment. Par exemple, appuyer sur i vous fait passer en mode insertion, puis appuyer sur <Esc> revient au mode normal de Vim.

Comment les éditeurs traditionnels permettent-ils cette distinction entre l’entrée de commandes et l’écriture de texte? En utilisant des menus graphiques ou des raccourcis clavier. Le problème, cependant, en est un d’échelle. Tout d’abord, si vous avez des centaines de commandes, créer des menus pour chacune de ces commandes deviendrait complètement fou et confus. En second lieu, personnaliser l’usage de chacune de ces commandes deviendrait encore plus difficile.
Prenons un exemple spécifique: supposons que vous voulez changer toutes les occurrences du mot “de” au mot “à” dans un document. Dans un éditeur traditionnel, vous utiliserez une commande d’un menu comme Édition -> Remplacer (ou un raccourci clavier comme Ctrl-R) puis entrerez le mot ‘de’ et le mot ‘à’ puis cliquerez sur ‘Remplacer’. Ensuite, sélectionner l’option “Remplacer tout”. Dans Vim, il suffit d’exécuter :%s/de/à/g en mode normal. Voyez comme c’est simple?

Explication de la commande substitution

Observez la commande :%s/de/à/g. Le % est un raccourci pour la portion de texte sur laquelle nous souhaitons exécuter la commande et cela signifie “toutes les lignes du fichier”. Aussi vous pouvez spécifier une plage de lignes comme 0,10 qui représente les lignes de 0 à 10. Le :s est la commande “substitution”. Les ‘de’ et ‘à’ sont respectivement le texte à trouver et celui à remplacer. Le g indique que s’il y a plus d’une chaîne ‘de’, il devrait les remplacer tous.
Que faire si vous désirez maintenant exécuter cette substitution seulement dans les 10 premières lignes de texte et que vous désirez une confirmation oui/non pour chacun des remplacements? Dans les éditeurs de texte traditionnels, obtenir cette confirmation oui/non est simple en décochant l’option ‘Remplacer Tout’, mais remarquez que vous devrez d’abord trouver cette option et ensuite utiliser la souris pour cliquer sur l’option (ou utiliser une longue série de touches sur le clavier). Mais comment pourrez-vous utiliser Remplacer seulement sur les 10 premières lignes? Dans Vim, il suffit d’exécuter :0,10s/de/à/gc. La nouvelle option c que nous utilisons signifie que nous demandons une ‘c’onfirmation pour chaque remplacement.

En séparant les modes écriture (insertion) et commandes (normal), Vim simplifie pour nous le changement de contexte.
Remarquez comment les premières étapes d’utilisation de Vim paraissent un peu “curieuses”, un peu “étranges” mais qu’une fois que vous l’avez vu en action, tout cela est sensé. Le mieux dans tout ça est que ces concepts de base vous aideront à comprendre tout ce que vous avez besoin de savoir pour utiliser Vim.
Puisque vous comprenez maintenant la différence entre les modes normal et insertion, vous pouvez consulter les diverses commandes que vous pouvez utiliser en mode normal et commencer immédiatement à les utiliser. Comparez cela à l’apprentissage de nouvelles commandes dans des éditeurs traditionnels qui demande généralement la lecture de beaucoup de documentation, la recherche dans de nombreux menus, beaucoup d’essais et erreurs ou simplement devoir demander de l’aide à quelqu’un.

Personnellement, je trouve les noms des modes peu intuitifs pour les débutants. Je préfère appeler le mode insertion “écriture” et le mode normal “réécriture” mais nous nous en tiendrons à la terminologie Vim standard pour éviter toute confusion.

Note
Toute commande en mode normal doit se terminer avec la touche Entrée pour indiquer à Vim que nous avons entré toute la commande. Ainsi, lorsque nous disons d’exécuter :help vim-modes-intro, cela signifie que vous devriez taper :help vim-modes-intro puis appuyer sur Entrée à la fin de la commande.

Écrire dans un Fichier

Nous avons vu comment ouvrir et fermer des fichiers dans Vim, alors maintenant faisons quelque chose d’intermédiaire, c’est à dire écrire.

  1. Ouvrez Vim.
    Firststeps open.png

  2. Tapez :edit hello.txt puis appuyez sur Entrée.
    Firststeps edit.png

  3. Pressez i.
    Firststeps insert.png

  4. Tapez le texte Hello World.
    Firststeps type.png

  5. Pressez la touche <Esc>.
    Firststeps normal.png

  6. Tapez :write puis appuyez sur Entrée.
    Firststeps write.png

  7. Fermez Vim en exécutant :q.
    Firststeps quit.png

Félicitations! Vous venez tout juste d’écrire votre premier fichier en utilisant Vim:-).

Cela vous paraît-il être un grand nombre d’étapes? Oui, ça l’est, de prime abord. C’est parce que c’est la première fois que nous nous accoutumons à ouvrir Vim, écrire un fichier puis fermer Vim. Vous devez garder à l’esprit que cela sera une partie infime de votre temps comparé au temps passé à réellement éditer le contenu du document.

Voyons exactement ce que ces commandes font.

  • :edit hello.txt ou simplement :e hello.txt
    • Cela ouvrer un fichier pour edition. Si le fichier avec le nom spécifié n’existe pas, il sera créé la première fois que nous “sauvegarderons” le fichier.
  • Pressez i
    • Cela fait passer Vim en mode insertion
  • Tapez le texte Hello World
    • C’est là que vous tapez le texte que vous vouliez écrire.
  • Pressez <Esc>
    • Cela ramène Vim en mode normal
  • :write ou simplement :w
    • Cela dit à Vim d’écrire (write) le texte (qui est pour l’instant stocké dans la mémoire de l’ordinateur) dans un fichier sur le disque dur. Cela signifie que tout ce que nous avons écrit jusqu’à ce moment sera stocké de façon permanente.
  • :quit ou simplement :q pour quitter le fichier de la “fenêtre” que nous éditons. S’il n’y avait qu’une seule “fenêtre” ouverte, cela fermera aussi Vim (le concept de fenêtres sera discuté dans un chapitre à venir).

Essayez de refaire cette procédure à quelques reprises avec des noms de fichiers différents, du texte différent, etc. pour pouvoir vous habituer aux étapes de base de l’utilisation de Vim.
Remarquez que lorsque vous êtes en mode insertion, Vim affiche -- INSERT -- dans le coin inférieur gauche. Lorsque vous revenez en mode normal, il n’affiche rien. C’est parce que le mode normal est le mode par défaut dans lequel Vim fonctionne.

Prenez un peu de temps pour digérer toutes ces informations, c’est probablement la leçon la plus difficile à apprendre sur Vim, le reste est simple:)

Et ne vous inquiétez pas, l’aide n’est pas bien loin. En fait, elle est accessible par la commande :help. Par exemple, exécuter :help:edit pour voir la documentation s’afficher. Allez-y, essayez-le.

Résumé

Nous avons maintenant discuté des concepts de base de l’utilisation de Vim. Voyez aussi :help notation et :help keycodes.

Assurez-vous de bien comprendre ces concepts. Une fois que vous commencerez à “penser en Vim”, comprendre le reste des fonctionnalités de Vim sera facile.


Advertisements