Tablify : création de tableaux reSTX dans Vim

Éric Bellot

<ebellot@laposte.net>

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

1. Exemple de conversion
2. Téléchargement
3. Installation
4. Utiliser Tablify
4.1. Conversion rapide
4.2. Tableau avec un ligne de titre
4.3. Conversion paramétrée
4.4. Ajoutez vos propres commandes
5. Les limites de Tablify

1. Exemple de conversion

  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    |
+------------+--------------+--------------+--------------+

2. Téléchargement

Tablify-0.3.zip

Contenu :

  • tablify.py

  • tablify.txt (aide)

3. Installation

Tablify est un module Python -- tablify.py -- seulement utilisable dans Vim. Il recquiert le module Vim pour fonctionner.

  1. Copiez le module Python tablify.py dans le répertoire $vim/vimfiles.

  2. 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>)

4. Utiliser Tablify

4.1. Conversion rapide

  1. 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.

  2. 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.

  3. 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.

4.2. Tableau avec un ligne de titre

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 |
+------------+------------+  +------------+------------+

4.3. Conversion paramétrée

  1. Saisissez le tableau STX comme précédement.

  2. Passez en mode visuel et mettez-le en surbrillance.

  3. 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

Tablify/Tb

Les commandes "Tablify" ou "Tb" sont équivalentes. La majuscule est obligatoire.

alignement_cellules

Valeurs possibles : center/c, left/l, right/r

Définit l'alignement des cellules du tableau. On peut utiliser les initiales.

nombre_lignes_de_titre

Valeurs possibles : Un entier (0, 1, 2, ..., n).

Indique le nombre de lignes de titre.

4.4. Ajoutez vos propres commandes

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>
Pour changer l'alignement

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.

Pour modifier le nombre de lignes de titre

Remplacez 0 par le nombre de lignes de titres souhaitées. Les guillemets ne sont pas obligatoires.

5. Les limites de Tablify

  • 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).



http://www.chez.com/ebellot
Miroir : http://membres.lycos.fr/ebellot