Espace d'Asher256

Vim : comment mettre en place un système de templates pour le HTML, PHP, C++, Python, etc.





Dans cet article, vous apprendrez à configurer Vim de manière à ce qu’il insère automatiquement un contenu prédéfini dans tout nouveau fichier, selon son type.

Ce système de templates permet de gagner du temps, notamment pour les fichiers de programmation ou de balisage. Une fois configuré, Vim remplira automatiquement vos fichiers vierges avec une structure de base correspondant à leur extension.

Vim / gVim, éditeur texte, une icône

Les étapes pour avoir le système de templates avec Vim

Nous allons illustrer cette configuration avec un exemple simple pour les fichiers HTML.

Commencez par créer le répertoire de stockage des templates :

mkdir -p ~/.vim/templates

Créez le fichier ~/.vim/templates/xhtml.html et ajoutez-y le contenu suivant :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  <head>
    <title>Titre de la page</title>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <meta http-equiv="Content-Language" content="fr" />
    <meta name="author" content="Prénom Nom" />
    <meta name="generator" content="vim" />
    <meta name="keywords" lang="fr" content="" />
    <meta name="description" content="la description de la page" />
   </head>
<body>
    <p>Contenu !</p>
</body>
</html>

Ajoutez la ligne suivante à votre fichier ~/.vimrc :

au bufNewFile *.html 0r ~/.vim/templates/xhtml.html

Cette commande indique à Vim d’insérer le contenu du fichier xhtml.html lors de la création d’un nouveau fichier avec l’extension .html.

Fermez Vim, puis créez un nouveau fichier HTML :

vim $HOME∕hello.html

Le fichier sera automatiquement rempli avec le contenu du template défini.

Utiliser un système de templates Vim avec d’autres langages (ex. PHP)

Prenons l’exemple du langage PHP.

La configuration est identique à celle utilisée pour le HTML. Il vous suffit d’adapter l’extension et le nom du fichier template.

  1. Créez un fichier ~/.vim/templates/php.php et ajoutez-y le contenu que vous souhaitez insérer automatiquement dans chaque nouveau fichier PHP.
  2. Modifiez votre fichier ~/.vimrc en y ajoutant la ligne suivante :
au BufNewFile *.php 0r ~/.vim/templates/php.php

Ainsi, chaque fois que vous créerez un fichier avec l’extension .php, Vim y insérera automatiquement le contenu du template défini dans php.php.

Cette méthode peut naturellement être répétée pour d’autres langages comme Python, C++, Bash, etc., en changeant simplement les extensions et les fichiers associés.