Personnalisation de Vim : les bases

En tant que linuxien inconditionnel, j’utilise la ligne de commande quotidiennement et l’édition de mes fichiers via la console passe généralement par l’utilisation de mon éditeur de texte préféré : Vim ! Seulement voilà, je n’ai jamais pris le temps d’apprendre à l’utiliser correctement car je ne suis pas sans savoir que la complexité de Vim réside dans ses possibilités, ses raccourcis et son énorme potentiel. J’ai donc décidé de profiter de l’été pour m’y mettre sérieusement et d’ouvrir une catégorie sur le blog dédié à mes découvertes.

Nous commencerons avec cet article par découvrir Vim, à quoi il sert, d’où il vient et comment le personnaliser avec ce qui est proposé « out-of-the-box », c’est-à-dire avec un simple fichier de configuration.

Mais au fait, Vim, ça vient d’où ?

Comme je vous le disais Vim est un éditeur de texte extrêmement stable puisqu’il reçoit des améliorations depuis sa première sortie en 1991. Il est le clone le plus populaire de Vi, un autre éditeur encore plus vieux (1976) et son nom signifie d’ailleurs Vi IMproved.

Nous allons le voir Vim est extrêmement personnalisable grâce au Vim script, son propre langage d’extension, qui permet la création d’une infinité de plugins… Mais nous allons le voir le fichier de configuration de Vim basique propose déjà quelques éléments intéressants !

Installation de Vim

Comment ça s’est pas déjà fait ?!

sudo apt-get install vim
Notez que l’apprentissage de Vim peut se faire via le tutoriel très pratique qu’est vimtutor.

Configurations élémentaires de Vim

La configuration de Vim passe par l’édition d’un fichier intitulé vimrc. Cette configuration peut être globale si vous placez ce fichier dans /etc/vim/ ou personnelle si celui-ci est placé dans votre home sous la forme de fichier caché (~/.vimrc). Si aucun fichier de ce type n’existe, Vim chargera tout simplement la configuration de Vi qui normalement est toujours présente.

Quelques paramètres intéressants…

Voici quelques paramètres que vous pouvez ajouter dans votre vimrc personnel. Ils sont issus de la documentation Ubuntu.

set number      " Affiche les numéros de ligne
set smartindent " Indentation intelligente
set autoindent  " Conserve l'indentation sur une nouvelle ligne
set ruler       " Affiche la position du curseur

C’est certes relativement basique mais ça apporte déjà un certain confort…

Prise en charge de la souris

Vous pouvez utiliser votre souris dans Vim grâce au service GPM. Il faut donc qu’il soit installé. Ensuite, ajoutez l’option suivante dans votre .vimrc :

set mouse=a

Coloration syntaxique

Là où Vim devient vraiment intéressant, c’est lorsqu’on découvre qu’il est capable de gérer la coloration syntaxique de plus de 200 langages ! Et encore, c’est un minimum puisqu’il n’est pas compliqué de créer votre propre coloration…

Pour activer la coloration syntaxique, ajoutez simplement :

syntax on

Outre la prise en charge de nombreux langages, vous avez aussi la possibilité de choisir votre thème parmi ceux proposés par la communauté. La configuration est là aussi très simple : il suffit d’ajouter votre thème dans le dossier ~/.vim/colors/ et de le déclarer dans ~/.vimrc :

mkdir -p ~/.vim/colors
wget https://raw.githubusercontent.com/chriskempson/tomorrow-theme/master/vim/colors/Tomorrow-Night.vim -O ~/.vim/colors/Tomorrow-Night.vim
vim ~/.vimrc
colorscheme Tomorrow-Night
Il est possible que votre thème ne soit pas pris en compte ou que vous n’ayez pas de coloration. Il faut forcer celle-ci en ajoutant la ligne set t_Co=256 après vous être assuré que votre terminal supporte 256 couleurs (c’est le cas sur les distributions récentes).

Le thème que je vous propose ici dispose de nombreuses variantes et est disponible pour de nombreux autres éditeurs et IDE, n’hésitez pas à aller faire un tour sur le dépôt GitHub de l’auteur ! Voici un aperçu du résultat.

Ici avec un fichier PHP

Ici avec un fichier PHP

Ou encore un fichier de configuration Nginx...

Ou encore un fichier de configuration Nginx…

Pour chercher des thèmes, le canard est là pour ça 🙂

Autres exemples

Voici quelques autres exemples d’astuces parmi les centaines d’autres existantes :

set nocompatible        " Désactive la compatibilité Vi
inoremap ( ()<left>     " Ferme la parenthèse et place le curseur entre les deux

Vous l’aurez sans doute compris au fil de vos découvertes Vim est vraiment très souple. Cet article s’arrête là car il est inutile que je réécrive ce qui a été écrit des centaines de fois. Néanmoins cet article sera amené à s’enrichir d’astuces au gré de mes découvertes !

Cet article vous a plu ? Partagez-le sur les réseaux sociaux !

Twitter Facebook Google Plus email