2003-04-29
Résumé
Tablify permet de créer, dans Vim, des tableaux conformes à la spécification reStructuredText proposée par David Goodger (http://docutils.sourceforge.net). Plus précisement, Tablify converti un tableau STX en tableau RST.
Table des matières
Tableau STX Tableau RST ||*Titre 1*||*Titre 2*|| +-----------+-----------+ ||Contenu A||B|| Tablify | *Titre 1* | *Titre 2* | ||Contenu C||Texte D|| ====> +===========+===========+ | Contenu A | B | +-----------+-----------+ | Contenu C | Texte D | +-----------+-----------+ |
Les tableaux RST sont nettement plus lisibles que les tableaux STX. Par contre, les tableaux STX sont faciles à écrire. Tablify permet de saisir les tableaux en STX puis de les convertir en RST.
Tablify est un programme qui ne gère que les tableaux réguliers. Pour des tableaux complexes, il est préférable d'utiliser Table sur Emacs ou le logiciel .
Par exemple, Tablify est tout à fait inadapté pour réaliser le tableau ci-dessous:
+---------------------------------------------------------+ | Tableau complexe | | cellules multilignes et multicolonnes | +---------------------------+-----------------------------+ | Cellules multicolonnes | Cellules multilignes | +============+==============+==============+==============+ | Cellule | Cellule | | Cellule | +------------+--------------+ Cellule | | | Cellule | Cellule | | multilignes | +------------+--------------+ multilignes +--------------+ | Cellule | Cellule | | Cellule | +------------+--------------+--------------+--------------+ |
Tablify est un module Python -- tablify.py -- seulement utilisable dans Vim. Il recquiert le module Vim pour fonctionner.
Copiez le module Python tablify.py dans le répertoire $vim/vimfiles.
Ouvrez .vimrc sous Unix/Linux ou _vimrc sous Windows et ajoutez les lignes suivantes :
"Tablify - Création de tableaux RST dans Vim pyfile $vim\vimfiles\tablify.py vmap tb :py tablify("left",0)<CR> vmap tbt :py tablify("left",1)<CR> com! -nargs=* -range=% Tablify :'<,'>py tablify(<f-args>) com! -nargs=* -range=% Tb :'<,'>py tablify(<f-args>) |
Saisissez le tableau au format STX : il suffit de séparer les cellules par une ou deux barres verticales. Veillez à ce que chaque ligne ait un nombre de colonnes identiques.
Sélectionnez les lignes du tableau en mode visuel. <s-v> (Shift + v) sur la 1ère ligne du tableau pour la sélectionner puis j ou <s_down> (Shift/Maj + Flèche descendante) pour les lignes suivantes.
Tapez tb, la conversion est faite !
Si vous vous apercevez que votre tableau ne correspond pas à vos attentes, tapez u en mode Normal pour revenir au tableau STX.
Sur le tableau STX sélectionné, vous pouvez taper tbt au lieu de tb pour que la première ligne soit titrée :
+------------+------------+ +------------+------------+ | Tableau | SANS titre | | Tableau | AVEC titre | +------------+------------+ +============+============+ | Faux texte | Faux texte | | Faux texte | Faux texte | +------------+------------+ +------------+------------+ | Faux texte | Faux texte | | Faux texte | Faux texte | +------------+------------+ +------------+------------+ | Faux texte | Faux texte | | Faux texte | Faux texte | +------------+------------+ +------------+------------+ |
Saisissez le tableau STX comme précédement.
Passez en mode visuel et mettez-le en surbrillance.
Passez en mode "Ligne de commande" pour saisir :
:'<,'>Tablify center 1 |
Vous pouvez aussi saisir :
:'<,'>Tb c 1 |
Dans les deux cas, vous obtiendrez un tableau reSTX centré avec une ligne de titre.
Syntaxe de la commande :
:'<,'>Tb *Alignement_cellules* *Nombre_lignes_de_titre* |
Les chevrons sont insérés automatiquement par Vim. Ils symbolisent la sélection visuelle en cours
Les commandes "Tablify" ou "Tb" sont équivalentes. La majuscule est obligatoire.
Valeurs possibles : center/c, left/l, right/r
Définit l'alignement des cellules du tableau. On peut utiliser les initiales.
Valeurs possibles : Un entier (0, 1, 2, ..., n).
Indique le nombre de lignes de titre.
Par défaut, le tableau est créé sans marque de titre et les cellules sont alignées à gauche. Vous pouvez créer vos propres commandes en ajoutant une nouvelle ligne de commande dans .vimrc.
La ligne suivante crée un commande tbc ("tablify centered") produisant un tableau dont les cellules sont centrées :
vmap tbc :py tablify("center",0)<CR> |
Remplacez "left" (align. à gauche) par "right" (droite) ou "center" (centré). Vous pouvez aussi utiliser les initiales : "l", "r" ou "c". N'oubliez pas les guillemets.
Remplacez 0 par le nombre de lignes de titres souhaitées. Les guillemets ne sont pas obligatoires.
Tablify ne traite que les tableaux réguliers, i.-e. les tableaux dont chaque ligne a le même nombre de colonnes et chaque colonne le même nombre de lignes. Un nombre de colonnes différent entre les lignes provoque une erreur.
L'alignement choisi s'applique à toutes les cellules du tableau.
Tablify ne supporte pour l'instant que des lignes simples dans les cellules (pas de cellules avec 2 lignes ou plus).