post

Vim fr:Premiers Pas

Contents

Lancer Vim

Le premier pas est, évidemment, d’apprendre à démarrer Vim.

Mode graphique

First vim screenshot.png

Windows
Cliquez sur Start → Programs → Vim 7 → gVim.
Mac OS X
Cliquez sur Finder → Applications → MacVim.
Linux/BSD
Cliquez sur Applications → Accessories → GVim Text Editor, ou appuyez sur Alt+F2, tapez gvim et appuyez sur la touche Entrée.

Mode terminal

First vim console screenshot.png

Windows
Cliquez sur Start → Éxécuter, tapez vim et pressez la touche Entrée.
Mac OS X
Cliquez sur Finder → Applications → Utilities → Terminal, tapez vim et appuyez sur la touche Entrée.
Linux/BSD
Cliquez sur Applications → Accessories → Terminal, ou pressez Alt+F2, tapez konsole/gnome-terminal et appuyez sur la touche Entrée. Puis, tapez vim et appuyez sur la touche Entrée.

A partir de maintenant, quand nous dirons ‘lancer Vim’, utilisez l’une des deux méthodes indiquées au-dessus.

Note
Quand vous avez démarré Vim, vous avez remarqué que vous ne pouviez pas immédiatement commencer à saisir du texte. Ne paniquez pas, cela va être expliqué un peu plus tard.

Quel mode utiliser?

La version graphique de Vim a des menus en haut de l’application ainsi que diverses options accessibles avec la souris, mais notez que ceci est complètement optionnel. Vous pouvez toujours accéder à toutes les fonctionnalités de Vim en utilisant seulement le clavier.

Pourquoi est-ce important? Car, à partir du moment où une personne devient efficace en tapant, utiliser seulement le clavier rend cette personne plus rapide et moins sujette à l’erreur, par opposition à l’utilisation de la souris. La raison de cela est que le mouvement de la main pour passer du clavier à la souris est lent et il y a un changement de contexte dans l’esprit de la personne quand sa main passe du clavier à la souris. Si vous prenez l’habitude d’utiliser le clavier autant que possible, vous économisez des mouvements de la main.

Évidemment, cela est subjectif. Certaines personnes préfèrent la souris et d’autres le clavier. Je vous encourage à utiliser le clavier autant que possible pour apprécier la véritable puissance de Vim.

Introduction aux modes

Imaginez, c’est samedi soir et vous vous ennuyez devant la télévision. Vous avez plutôt envie de regarder un vieux film. Donc, vous passez la TV en mode vidéo afin qu’elle montre ce que le lecteur DVD affiche au lieu des chaînes câblées. Notez que la télévision continue à afficher la vidéo, mais vous avez passé le contexte sur regarder un DVD ou un chaîne de télévision en direct.

De la même manière, Vim a des modes. Par exemple, Vim a un mode pour écrire du texte, un mode pour lancer des commandes, etc. Ils sont tous en rapport avec le but principal qui est d’éditer du texte, mais vous changez de contexte selon que vous voulez juste saisir du texte ou lancer des commandes sur ce texte.

N’est-ce pas simple?

Traditionnellement, le concept des modes est la raison la plus souvent citée par les débutants pour dire que Vim “induit en erreur”. Je compare souvent cela à faire du vélo – vous tombez quelques fois, mais une fois que vous savez en faire, vous vous demandez pourquoi on en parlait tant.

Donc, pourquoi Vim propose des modes? Pour rendre les choses aussi simples que possible, même si l’utilisation peut sembler “étrange” au début.

Qu’est-ce que je veux dire par là? Prenons un exemple – un des buts importants de Vim est d’être complètement accessible à partir du clavier sans avoir besoin d’utiliser une souris (vous pouvez utiliser la souris si vous en avez envie, mais c’est totalement optionnel). Dans ce cas, comment distinguer le texte que vous écrivez des commandes que vous voulez exécuter? La réponse de Vim est d’avoir un mode “normal” dans lequel vous exécutez des commandes, et un mode “insertion” dans lequel vous écrivez simplement du texte. Vous pouvez constamment passer d’un mode à l’autre. Par exemple, taper i passe Vim en mode insertion, et taper <Esc> repasse Vim en mode normal.

Comment font les éditeurs traditionnels pour distinguer entre des commandes et l’écriture de texte? Avec des menus graphiques et des raccourcis claviers. Le problème est que cela ne fonctionne pas sur une grande échelle. D’abord, si vous avez des centaines de commandes, créer des menus pour chacune de ces commandes serait insensé et source d’erreurs. Ensuite, personnaliser chacune de ces commandes serait encore plus difficile.

Prenons un exemple précis. Supposons que vous vouliez changer toutes les occurrences du mot “from” en “to” dans un document. Avec un éditeur traditionnel, vous lancez une commande du menu comme Edit -> Replace (ou utilisez un raccourci clavier comme Ctrl-R) et ensuite vous saisissez le mot ‘from’ et le mot ‘to’ et vous cliquez sur ‘Replace’. Ensuite, vous cochez l’option ‘Replace All’. Dans Vim, vous lancez simplement :%s/from/to/g dans le mode normal. Vous voyez comme c’est simple?

Explication de la commande substitute
Considérez la commande :%s/from/to/g. Le % est un raccourci pour l’intervalle sur lequel va s’appliquer la commande et signifie “toutes les lignes du fichier”. Alternativement vous pouvez indiquer un intervalle de lignes comme 0,10 qui veut dire les lignes 0 à 10. Le :s est la commande “substituter”. Le ‘from’ et le ‘to’ sont respectivement les textes à trouver et à remplacer. Le g indique que s’il y a plus d’une occurence de la chaîne ‘from’ sur la même ligne, elles seront toutes remplacées.

Au premier abord, cela semble faire beaucoup de choses, mais une fois que vous aurez appris cela, vous verrez que c’est bien plus pratique que de chercher dans les menus et des boites de dialogue, pour faire exactement ce que vous voulez.

Comment faire si vous voulez appliquer cette substitution seulement aux dix premières lignes du texte, et demander une confirmation à chaque fois? Avec un éditeur traditionnel, il faut décocher l’option ‘Replace All’, mais notez qu’il faut rechercher cette option, puis utiliser la souris pour cliquer sur l’option (ou utiliser une longue série de commandes au clavier). Mais dans ce cas, comment remplacer seulement dans les dix premières lignes? Avec Vim, vous faîtes simplement :0,10s/from/to/gc. La nouvelle option c utilisée ici signifie que nous voulons un message de ‘c’onfirmation pour chaque remplacement.

En séparant le mode écriture (insert) et le mode normal, Vim nous facilite le passage d’un contexte à l’autre.

Notez comment les premières étapes pour utiliser Vim ont semblé “étrange”, mais une fois que vous l’avez utilisé, cela commence à faire sens. Le mieux est que ces concepts centraux vous aideront à comprendre tout ce que vous devez savoir pour utiliser Vim.

Comme vous comprenez maintenant la différence entre le mode normal et le mode insertion, vous pouvez regarder les différentes qui se lancent en mode normal, et commencer à les utiliser. Comparez cela à l’apprentissage de nouvelles commandes avec un éditeur traditionnel, ce qui implique la lecture d’une épaisse documentation, rechercher dans de nombreux menus, beaucoup d’essais et d’échecs ou demander de l’aide à quelqu’un.

Personnellement, je trouve que les noms des modes ne sont pas intuitifs pour les débutants. Je préfère appeler le mode insertion “mode écriture” et le mode normal “mode re-écriture”, mais nous garderons la terminologie standard Vim pour éviter toute confusion.

Note
Toutes les commandes en mode normal se terminent par la touche Entrée pour indiquer à Vim quer la commande est complète. Donc, quand nous disons lancez :help vim-modes-intro, cela veut dire que vous devez taper :help vim-modes-intro et appuyer sur la touche Entrée à la fin de la commande.

Ecrire dans un fichier

Voyons comment ouvrir, écrire dans et fermer un fichier.

  1. Ouvrez Vim.
    Firststeps open.png

  2. Tapez :edit hello.txt et appuyez sur la touche Entrée.
    Firststeps edit.png

  3. Tapez i.
    Firststeps insert.png

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

  5. Tapez <Esc>.
    Firststeps normal.png

  6. Tapez :write et appuyez sur la touche Entrée.
    Firststeps write.png

  7. Fermez Vim by avec :q.
    Firststeps quit.png

Félicitations! Vous venez de créer votre premier fichier en utilisant Vim:-).

Cela fait beaucoup de choses différentes, n’est-ce pas? Oui, au début. Parce que c’est la première fois que vous avez ouvert Vim, écrit dans un fichier et fermé Vim. Gardez à l’esprit que vous y passerez peu de temps comparé au temps passé à éditer un document.

Voyons ce que font les commandes ci-dessus.

  • :edit hello.txt ou simplement :e hello.txt
    • Cela ouvre un fichier en édition. Si le fichier avec le nom indiqué n’existe pas, il sera créé la première fois que nous le “sauvons”.
  • Tapez i
    • Cela passe en mode insertion
  • Tapez le texte Hello World
    • C’est ici que vous tapez le texte voulu.
  • Tapez <Esc>
    • Cela repasse Vim en mode normal
  • :write ou simplement :w
    • Cela indique à Vim d’écrire (write) le texte (qui est actuellement stocké dans un fichier temporaire automatiquement créé par Vim) dans un fichier sur le disque dur. Cela veut dire ce qu’on a écrit est maintenant sauvegardé.
  • :quit ou simplement :q pour quitter le fichier dans la fenêtre (“window”) dans laquelle on éditait. Si une seule fenêtre était ouverte, alors cela ferme Vim (Les Concept de fenêtres seront vus dans chapitre ultérieur).

Essayez de répéter cela avec différents noms de fichiers, des textes différents, etc. afin de vous habituer à ces étapes de base dans l’utilisation de Vim.

Notez que quand vous êtes en mode insertion, Vim affiche -- INSERT -- en bas à gauche. Quand vous repassez en mode normal, il n’affiche plus rien. Cela est parce que le mode normal est le mode par défaut de Vim.

Prenez le temps de vous imprégner de ces informations, c’est sans doute la leçon la plus difficile pour apprendre Vim, le reste est facile:)

Et ne vous inquiétez pas, l’aide est toujours là. En fait, il vous faut juste une commande :help. Par exemple, lancez :help:edit et toute la documentation s’ouvrira. Allez-y, essayez.

Récapitulatif

Nous avons maintenant passé en revue les concepts de base et l’utilisation de Vim. Voyez aussi :help notation et :help keycodes.

Assurez-vous d’avoir bien assimilé ces concepts. Une fois que vous avez commencé à “penser Vim”, comprendre le reste des fonctionnalités de Vim est facile.


Advertisements