Un éditeur de texte avancé : Vim
Ce billet n'a pas pour vocation de vous apprendre à vous servir de Vim. C'est plutôt une introduction, qui vous présentera globalement les avantages, son histoire, la communauté française. Au final, vous deviendrez peut être fans de cet éditeur.
Vi Improved
Vim est un éditeur de texte avancé qui s'utilise dans un terminal. Vim a été inspiré de Vi, un éditeur de texte, utilisé sur les systèmes Unix BSD. Vi est un logiciel sous licence BSD. Vim avait pour objectifs de reprendre l'ensemble des fonctionnalités de vi, mais a été considérablement amélioré. Il portait au départ le doux nom de Vi IMitation. Ayant largement dépassé l'ancêtre Vi, Vi IMitation s'appelle désormais Vi IMproved (Vi AMélioré).
Vim - un éditeur de texte avancé
En console !
Tout. Vim est capable de lire toutes sortes de fichiers textes, des fichiers de configurations, des fichiers contenant le code source d'un programme, de simples fichiers textes, ou encore des fichiers LaTeX. Vim contient une infinité de raccourcis clavier pour divers taches : suppression d'un certain nombre de lignes, indentation d'une partie du texte, déplacements très rapide dans le texte, plusieurs presse-papiers disponibles (un pour chaque lettre de l'alphabet), remplacements qui acceptent les Regex, découpage de l'écran verticalement et horizontalement, ceci à l'infini ( vous serez limité par la taille de votre écran), afficher la documentation, sans quitter Vim, mais également un système d'onglet. Le tout cela fait gagner un temps considérable étant donné qu'il n'y a pas besoin de souris pour tout cela, le clavier est largement suffisant. La souris est tout de même utilisable en utilisant une option, mais je la déconseille.
À chacun son Vim.
Vim est un éditeur personnalisable à l'infini, vous pouvez choisir votre thème de couleur, activer les numéros de ligne, changer les raccourcis clavier, définir une barre de statut, définir la taille de vos tabulations, remplacer les tabulations par des espaces. Le nombre d'options est très vaste. En plus de cela, vous avez des options pour chaque langage, par exemple, vous pouvez activer la coloration syntaxique à l'intérieur d'une chaine de caractère en PHP pour avoir la coloration du HTML/SQL.
Extensible à l'infini
Mais vim ce n'est pas simplement ce que je viens de vous annoncer, c'est bien plus que cela. Vim est extensible à l'infini aux moyens de scripts. En effet, Vim possède son propre langage. Tout le monde peut coder ses extensions. Une base de données contient les principaux, voire la totalités des scripts disponibles : le site officiel de Vim, rubrique scripts. Vous pouvez par exemple, avec le script NERDTree, disposez d'un menu sur la gauche de Vim, qui fait explorateur de fichiers. Vous pouvez disposer d'un script nommé DBext, qui vous permettra d'explorer une base de données. Vous avez des scripts pour faire à peu près ce que vous voulez, même des choses beaucoup plus simples, comme la correction orthographique. A noter qu'il existe aussi des scripts qui s'installent de la même manière qu'un logiciel (pour les gros scripts ) comme par exemple TagList, qui vous permettra de rajouter la liste des fonctions/variables dans un menu, à la manière des IDE.
Une interface graphique
GVim - L'interface graphique pour Vim
Il existe une interface graphique pour vim, appelée gVim. Elle permet aux débutants d'être moins déroutante, et possède des menus/boutons qui peuvent rendre l'approche de Vim plus facile. Je ne conseille pas ce logiciel, je pense que si on veut se former correctement, il faut mettre les mains dans le cambouis, et utiliser directement Vim pour apprendre plus rapidement, bien que les perles de sueur risquent de couler le long de votre front. Et d'autant plus qu'il y a deux fichiers de configuration pour ce logiciel, un pour le moteur vim, un autre pour l'interface graphique. La configuration de vim est déjà complexe, alors si en plus de ça, on doit retravailler un autre fichier, je pense que cela est une perte de temps inutile. Le principale avantage de logiciel, et que c'est le seul existant sous Windows. Et il existe d'ailleurs une version portable qui s'installe sur une clé USB. Cela peut s'avérer très pratique.
Vimperator, une extension de Firefox.
Vimperator est un plugin pour Firefox très pratique. En effet les raccourcis de vim servent à remplacer la souris dans Firefox. Depuis que je l'utilise, je ne peux plus m'en passer, on gagne vraiment du temps à ne plus se servir de la souris. Les raccourcis clavier sont multiples, assez faciles à retenir,, mais demande un temps d'apprentissage, même si on utilise vim régulièrement. Il faut savoir aussi que la configuration de base de vimperator enlève tous les menus, et barre des défilements. Cela est très perturbant, mais maintenant que je me suis rendu compte de la place qu'on perdait avec tous ces menus, je ne les remets qu'occasionnellement (je suis loin de le maitriser à 100 %). En conclusion, beaucoup de temps de gagner, une lisibilité améliorée. Que du bonheur. Une page d'explications est disponible sur le wiki francophone pour ceux que ça intéresserait.
Une communauté présente
Vim n'est pas un logiciel facile à manipuler, principalement au début. Il existe une énorme communauté anglophone autour de Vim, avec de nombreux sites internant exposant différents hacks/tutoriaux etc. Cependant il existe une communauté française, moins importante, mais présente, qui est très active, notamment avec la création d'un wiki, et d'un planet, regroupant différents billets de blogueurs ayant comme thématique Vim. Il y a également un très bon salon de discussion sur Jabber, ainsi que sur IRC : #vim-fr sur Freenode.net (je vous conseille Jabber évidement).