[vim] vim, l'IDE et les plugin pour symfony (1/3)
Vim est un éditeur de texte Libre inspiré de vi, son grand frère … non libre. C’est aussi l’un des éditeurs les plus utilisés dans les système Linux/BSD (avec Emacs).
La puissance de vim vient de sa particularité : être un éditeur de texte en console. Ainsi, toutes les actions que vous réalisé sont effectuées au clavier, ceci vous donnant, en plus d’un coté assez “geek”, un gain de temps non négligeable. Ajoutez à cela les plugins et vous avez un véritable IDE de développement ! Nous allons donc détailler ici comment configurer au mieux vim pour développer avec le framework PHP symfony.
Principe de configuration de vim
La configuration de vim peut être de deux sorte :
- Global : c’est-à-dire une configuration générique qui s’applique à tout les utilisateurs du système. Ceci concerne le fichier /etc/vimrc
- Utilisateur : c’est-à-dire une configuration spécifique pour l’utilisateur. Nous utiliserons ici cette méthode qui à l’avantage, avec un “/home” séparé de la partition système de subsisté à d'éventuel formatage du système.
La configuration de vim pour l’utilisateur se passe dans le fichier .vimrc et le dossier .vim tout deux à la racine de votre répertoire personnel.
Si le fichier .vimrc n’existe pas créez le
$ touch ~/.vimrc
Fait pas toujours habituel, ce fichier utilise les doubles guillemets (") comme équivalent aux // ou # bien connus pour les commentaires. N’en soyez pas surpris. Nous allons voir maintenant quelques options de ce fichier.
Le fichier vimrc
Chaque ligne du fichier vimrc est une instruction passé à vim et correspond donc à une option de configuration. La plupart de ces lignes commence par le mot clef set qui signifie l’affectation de la variable comme ceci :
set monflag ‘pour créer un flag “monflag”
set mavariable=valeur ‘pour créer une variable “mavariable” et lui attribué la valeur “valeur”
Voici maintenant une liste de flag ou de variable intéressante pour la configuration de vim
- nocompatible : Par défaut vim est rétro-compatible avec vi, ce qui lui implique des limitations. Aussi ce flag permet de désactiver la rétro compatibilité avec vi et par conséquent lever ses limitations. Ce flag devrait être présent dans tout les fichiers de configuration de vim sinon vous ne pourrez pas utiliser bon nombres de fonctionnalités.
- bs ou backspace : Définit le comportement de vim vis à vis des retours en arrière. Trois valeurs sont disponibles pour cette option pouvant être activées toutes à la fois à l’aide de virgule. Ces valeurs sont :
- indent : Permettant le retour en arrière sur auto-indentation
- eol : Permettant le retour en arrière après un saut de ligne
- start : Permet le retour en arrière sur le début de l’insertion (c’est-à-dire ce qui est avant ce que vous avez déjà écrit)
- ruler et noruler : Affiche (ruler) ou non (noruler) le numéro de ligne et le numéro de colonne courante en bas à droite de l'écran.
- autoindent ou ai: Configure vim pour qu’il indente automatiquement la ligne courante avec l’indentation de la ligne précédente.
- history : Permet de conserver un nombre spécifique de ligne de commande en mémoire. Elle s’utilise comme ceci “set history=10” pour spécifier que nous souhaitons garder les 10 dernières commande du document.
- background ou bg : Avec pour valeur dark ou light permet de changer l’arrière plan entre sombre (dark) et claire (light)
- cursorline ou cul : Souligne la ligne courante (en mode insertion)
- tabstop ou ts : spécifie le nombre d’espace à utiliser lors d’une tabulation.
- shiftwidth ou sw : spécifie le nombre d’espace à utiliser pour l’auto-indentation
- scrolloff ou so : spécifie le nombre minimum de ligne a garder avant et après le curseur.
- hlsearch ou hls : lors d’une recherche surligne le terme recherché
- number : affiche le numéro des lignes devant celle-ci.
- ignorecase : ignore la casse lors d’une recherche
- title : affiche le nom du fichier en cours d'édition dans la barre de titre de la console
Voici donc une petite liste d’options disponibles dans vim ! Comme vous le voyez, ceci est déjà très complet mais ne représente qu’une infime partie des possibilités de configuration vim. Pour avoir plus d’informations sur vim, la configuration ou une option en particulier vous pouvez à tout moment dans vim utiliser la commande :help pour accéder à l’aide ou :help option pour accéder à l’aide de l’option “option".
Voici donc un exemple de fichier vimrc avec les options précédemment vu.
set nocompatible " Pas de compatibilité vi
set bs=indent,start,eol " retour en arrière simplifié
set ruler " Affiche la position du curseur en bas à droite
set autoindent " Active l’auto indentation
set history=20 " Garde 20 commende dans l’historique
set cursorline " Souligne la ligne courante
set tabstop=2 " 2 espace par tabulation
set shiftwidth=2 " 2 espace par auto indentation
set scrolloff=2 " Garder toujours 2 ligne au dessus et dessous du curseur
set hlsearch " Surligner le terme recherché
set number " afficher les numéro des lignes
set title " afficher le nom du fichier dans le titre de la console
Si vous testez vim maintenant vous trouverez que celui-ci est déjà beaucoup plus utile mais que quelques problèmes persistes, principalement la coloration ! Pour activer la coloration syntaxique dans vim il suffit de rajouter le mot clef “syntax on” à notre fichier vimrc et tour est joué !
Vim gère un nombre impressionnant de coloration syntaxique de langage par défaut. Vous pourrez trouver la liste dans le dossier /usr/share/vim/vim72/syntax ou chaque fichier représente une style de coloration syntaxique associé à un langage de programmation !