Vim : VI Improved, est un éditeur de texte basé sur le modèle de vi, éditeur de texte dont le concept est de disposer de 2 modes : un mode édition, et un mode commande. Les premières heures sont un peu difficiles avec le besoin de passer d’un mode à l’autre en permanence, mais ensuite, la puissance du mode commande et de la ligne de commande rende l’outil incontournable. A chaque fois que j’ai eu à travailler dans un IDE (Environnement de développement intégré), j’ai toujours souffert de la pauvreté du mode éditeur et du manque de fonctionnalité de celui-ci.
Les points forts en plus 🙂
Coloration Syntaxique : Vim grace à près de 500 fichiers de configuration detecte automatiquement le langage utilisé dans le fichier que vous voulez éditer et utilise la coloration des mots clefs, chaines de caractères etc… Si vous éditez un fichier d’un langage que vous ne maitrisez pas, vous serez tout de suite un peu plus a l’aise grâce à ça. Idem pour les fichiers de configuration, quand on fait un peu d’admin system, la prise en main d’un nouvel outils est tout de suite simplifier grâce aux couleurs qui mettent en avant les différents éléments et colorisent les commentaires.
Mode search/replace : dans la barre de commande, on peut taper des instructions ala sed en indiquant le scope du changement à effectuer. :%s/nicolas/jean/g remplacera dans tout le fichier nicolas par jean, il est bien sur possible d’utiliser des expressions régulières
Multifenêtrage : il est possible de découper la fenêtre de travail horizontalement et verticalement à l’infini pour pouvoir éditer plusieurs fichiers simultanément, ou même un seul fichier mais à des endroit différent
Folding : lorsque l’on a des instructions de controle dans un code, il est pratique de pouvoir regrouper plusieurs lignes en 1 seul afin d’avoir une vue plus globale de l’ensemble
Auto-Complétion : une nouveauté de la version 7, l’autocomplétion de commandes, de texte, de fonctions… je pense que tous les cas sont pris en compte. C’était vraiment un manque par rapport à des IDE dédiés à un langage, grâce à cette nouveauté, l’empreinte d’une fonction, php par exemple, s’affiche dans une petite fenêtre afin de ne plus avoir à consulter la doc pour savoir dans quel ordre les paramêtres sont à passer (et c’est particulièrement utile quand on sait le peut de consistance de PHP sur ce point)
Mode commande : c’est la base de vi, mais son efficacité au quotidien est tellement redoutable, qu’il convient de le rappeler. Pour supprimer une ligne en mode commande il suffit de taper dd. Pour copier le buffer, taper p pour ajouter le contenu après la ligne courante ou P pour avant. Pour inverser deux lignes, taper ddp si vous êtes sur la première, ou ddP si vous êtes sur la deuxième. Des exemples comme celui ci se rencontre par centaine avec les années. Avec seulement une dizaine de commande, on obtiens une rapidité d’édition redoutable 🙂
Vim dispose d’une aide complète intégré, il suffit de taper :help ou :help sujet si vous savez à peu près ce qui vous interesse.
Une petite vidéo pour montrer le mode visuel dont je n’ai pas parler mais qui permet d’éditer rapidement une selection faite àla souris ou au clavier :
La 7ème édition du livre sur le sujet est sorti dernièrement chez O’reilly