{{tag>software application vim csv plugin extension}}
:TODO_DOCUPDATE:
===== Vim : Éditer les fichiers CSV avec le plugin Rainbow CSV ======
===== Installation de l'extension =====
Pour l'installation du plugin plusieurs gestionnaires sont compatibles, ici on a choisit d'utiliser [[software/applications/vim/vundle|Vundle]].
Modifier le le fichier ''~/.vimrc''
Démarrer **vim** et depuis le mode normal taper :
:PluginInstall 'mechatroner/rainbow_csv'
===== Fonctionnalités =====
Le plugin propose notamment :
* Mise en forme et coloration syntaxique ;
* Fournit des informations sur la colonne sous le curseur ;
* Langage SQL-Like (RBQL) pour sélectionner, mettre à jour des cellules ;
* Validation syntaxe (CSVLint) ;
* Navigation curseur au niveau de la cellule.
Par défaut si l'extension est reconnue, la coloration syntaxique est appliquée cependant le contenu n'est pas automatiquement reformaté.
Depuis le mode normal, taper '':CSVLint'' et valider pour vérifier la syntaxe :
:CSVLint
Pour réaligner les colonnes en fonction du contenu des cellules :
:RainbowAlign
La commande inverse permet de supprimer les caractères d'espacement au début et ne fin de cellule
:RainbowShrink
Dans certains cas, la première ligne définit l’entête (nom des colonnes). Si c'est le cas on peut positionner la variable **g:rbql_with_headers**
:let g:rbql_with_headers = 1
Ainsi la première ligne sera prise en compte lors des traitements via le RBQL. A tout moment, on peut surdéfinir ce paramétrage en utilisant le mot clé ''WITH'' dans les requêtes : ''WITH (header)'' ou ''WITH (noheader)''
# Sélectionne seulement les deux premières colonnes
# dans un fichier avec ligne d’entête
:Select a1, a2 with (header)
# Sélectionne les colonnes 3 et 4 dans un fichier sans entête
:Select a3, a4 with (noheader)
==== Aide en ligne ====
Depuis vim en mode normal taper :
:help rainbow_csv
===== Exemples =====
Pour que les requêtes RBQL s'exécutent correctement, la syntaxe doit être correcte :
* Activer la coloration syntaxique avec '':RainbowDelim'' si nécessaire ;
* Vérifier la syntaxe avec '':CSVLint'' ;
* Corriger et enregistrer les modifications apportées ;
* Saisissez enfin la requête RBQL.
Après exécution de la requête, un fichier est créé
Chaque ligne (enregistrement) à un numéro (NR)
===== Références =====
* [[https://vimtricks.com/p/vim-csv-files/|Edition du format CSV sous Vim (vimtricks.com)]]
* [[https://github.com/mechatroner/rainbow_csv|Dépôt Git officiel Rainbow CSV]]
* [[https://rbql.org/|Documentation de référence du RBQL]]