Blog Arolla

Dompter VIM en trois temps 0/3

Découverte de VIM

Dans le livre The Pragmatic Programmer, l'un des must read du craftsman, les auteurs (Andy Hunt et Daves Thomas) insistent sans cesse sur le principe D.R.Y (Don't Repeat Yourself). Il revient sous forme de leitmotiv dans tous les chapitres. Le bon développeur, en vrai artiste, ne se répète pas. En plus de son langage de programmation fétiche (Java, Scala, Ruby, ...) il doit disposer d'un IDE configurable dans sa boîte à outils, être à l'aise avec la programmation shell pour automatiser les tâches courantes, et maîtriser du bout des doigts un éditeur de texte, “It is better to know one editor very well, and use it for all editing tasks.” Puis, dans un style messianique, ils décrivent l'éditeur du développeur : “The editor will be an extension of your hand; ... Make sure that the editor you choose is available on all platforms you use.” L'éditeur doit être configurable, extensible et programmable. Et voilà pourquoi je veux vous présenter VIM comme étant l'éditeur du Développeur.

vim_developer

VIM (Vi IMproved) est un éditeur de texte libre, un parmi la vingtaine de clones de Vi. Pour rappel Vi existe depuis 1976; une antiquité dans le temps informatique. Il a survécu à toutes les tempêtes qui ont secoué le monde informatique. A l'origine Vi a été créé pour le système Unix dont il deviendra plus tard l'éditeur standard. C'est aussi un éditeur modal; les touches du clavier sont interprétées différemment d'un mode à un autre. En mode Insert pour taper du texte ou en mode Normal pour exécuter des commandes.

La première release de Vim voit le jour le 2 Novembre 1991. Il sera publié sous licence GNU et disponible sur plusieurs plateformes, Linux, Windows et Mac étant les plus populaires. Le projet a été initié par Bram Moolenaar pour pallier les imitations de Vi en ajoutant de nouvelles fonctionnalités :

  • Le support de plugins
  • L'édition de fichier, via le réseau, avec les protocoles SSH et Http
  • L’interaction avec la souris
  • La coloration syntaxique, notamment pour les langages de programmation
  • L'intégration d'un langage de script

L'esprit de Vim est de réaliser toutes les actions possibles sans avoir besoin de lever les mains du clavier, en se passant de la souris et des touches éloignées. Sa courbe d'apprentissage en forme de mur (Learning wall) peut être interprétée de la manière suivante : On ne s'investit qu'une seule fois, pour toujours.

learning_curve

Je vous propose dans cette série de trois articles trois étapes pour dompter VIM. L'objectif est de vous convaincre qu'au delà de manipuler des fichiers de logs sur des serveurs distants, Vim peut être notre éditeur de texte au quotidien. La première partie présentera les commandes de base de Vim à travers ses principaux modes. La deuxième partie portera sur la configuration, comment adapter l'outil à nos habitudes et nos besoins spécifiques sans violer le principe DRY. Et dans la dernière partie on présentera quelques plugins pour l'extension de Vim. Il est déconseillé de vouloir commencer par connaître toutes les commandes de VIM. C'est pour ça que vous ne les verrez pas toutes. 10% d'entre elles pourront couvrir vos besoins les plus courants.

Les Ressources

Parmi les nombreuses ressources disponibles dans les librairies et sur internet quelques auteurs se distinguent par la qualité très solide de leurs références :

Blogs

Livres

  • Pragmatical Vim (Drew Neil)
  • Learning the vi and Vim Editors (Arnold Robbins, Linda Lamb)

Vidéo

Pour Commencer

  • Installer vim (apt-get install vim sur Ubuntu)
  • Pour lancer vim depuis le terminal

vim ouvre un éditeur vierge

vim fileName ouvre ou crée un fichier

vim fileName+lineNumber ouvre un fichier et met le curseur à la position lineNumber

Une fois l'éditeur lancé on peut effectuer les actions suivantes :

  • Enregistrer : :w
  • Enregistrer sous fileName: :w/fileName
  • Quitter définitivement : :q
  • Quitter Vim provisoirement : <Ctrl-Z> (et fg pour revenir sur vim)
  • Afficher les numéros absolus : :set nu
  • Afficher les numéros relatifs : :set relativenumber

L'aide :

Le dernier détail important, qui reste incontournable pour démarrer, c'est l'utilisation de l'Aide. Pour y accéder il suffit de taper :help (ou :h)avec le mot clé en paramètre :

:help pattern ou :h pattern

Si vous vous sentez prêts la prochaine étape c'est par là, les principaux modes de VIM.

Plus de publications

2 comments for “Dompter VIM en trois temps 0/3