Vim et son plugin Taglist sur un système GNU/Linux Ubuntu
Date de publication : 20/06/2007 , Date de mise à jour : 08/08/2007
Par
Nicolas Gressier (Homepage)
Vim est un éditeur de texte très puissant auquel il est possible d'associer un grand nombre de plugin. L'un des plugins les plus populaire est le plugin Taglist, un explorateur de code source très pratique. Cet article a pour but de vous expliquer comment installer et utiliser ce plugin. Bonne lecture.
Remerciements
A. Présentation de Vim
B. Présentation du plugin Taglist
C. L'outil Ctags
C-1. Présentation
C-2. Installation
C-3. Configuration
D. Le plugin Taglist
D-1. Téléchargement
D-2. Installation
D-3. Configuration
D-4. Utilisation
E. Annexes
Remerciements
Avant de commencer je souhaiterais d'abord remercier
Witchounet, pour la relecture de cet article.
A. Présentation de Vim
Vim est un éditeur de texte, c'est le clone le plus populaire du célèbre
Vi. Le but de cet article n'est pas de vous présenter Vim; je ne m'attarderai donc pas sur une longue présentation. Si vous ne connaissez pas Vim, je vous conseille de lire l'article qui lui est consacré sur
Wikipédia. Pour les autres, vous pouvez passer directement au chapitre suivant.
B. Présentation du plugin Taglist
Le plugin Taglist est un explorateur de code source pour Vim. Ce plugin affiche dans une fenêtre l'ensemble des variables, fonctions, structures et autres membres du code source. Il est possible de se rendre directement sur une fonction en double-cliquant simplement sur son nom dans la liste. Un petit screenshot vous donnera sûrement une idée plus précise de l'utilité de ce plugin :
- Gestion des replis permettant de plier/déplier les différentes parties
- Le tag (fonction, méthode, etc...) en cours d'utilisation est affiché en surbrillance dans la fenêtre du plugin et s'affiche également dans la barre de statut
- Liste des membres (fonctions, méthodes, variables, etc...) du code source
J'espère que cet aperçu vous a convaincu de l'intérêt de ce plugin, personnellement je ne peux plus m'en passer. Nous allons maintenant voir comment installer Taglist, mais pour cela nous aurons besoin d'un petit outil nommé Ctags.
C. L'outil Ctags
C-1. Présentation
L'outil Ctags permet de générer un fichier contenant tout les objets se trouvant dans un code source. Les objets dont il s'agit ici sont par exemple des variables, des méthodes, des classes, etc.... Cet outil est absolument indispensable pour le bon fonctionnement du plugin Taglist.
C-2. Installation
Nous allons maintenant procéder à l'installation de cet outil, par chance Ctags se trouve dans les dépôts sous le nom de d'exuberant-ctags. Commencez par lancer le gestionnaire de paquets Synaptic et installez le paquet nommé exuberant-ctags.
Vous pouvez également l'installer directement depuis votre terminal en exécutant la commande suivante :
Installation de Ctags depuis un terminal |
sudo apt-get install exuberant-ctags
|
C-3. Configuration
Il va maintenant falloir initialiser la variable Tlist_Ctags_Cmd. Si vous utilisez la version graphique de Vim (Gvim), il faudra initialiser cette variable dans le fichier .gvimrc, sinon ce sera dans le fichier .vimrc. Cette variable doit être initialisée avec le chemin d'accès à l'outil Ctags. Commencez tout d'abord par ouvrir le fichier de configuration de Vim, ou Gvim en fonction de celui que vous utilisez :
Edition du fichier de configuration |
- Pour Vim : vim ~/.vimrc
- Pour Gvim : gvim ~/.gvimrc
|
Dans le fichier ajoutez la ligne suivante :
Initialisation de la variable Tlist_Ctags_Cmd |
let Tlist_Ctags_Cmd = '/usr/bin/ctags'
|
Avant de quitter le fichier de configuration, nous allons également y ajouter une seconde ligne, nécessaire pour activer la détection du type de fichier. Ctags a besoin de connaître le type du fichier à traiter :
Détection du type de fichier |
|
L'outil Ctags est prêt à l'emploi, nous allons maintenant pouvoir passer au plugin Taglist lui-même.
D. Le plugin Taglist
D-1. Téléchargement
Le plugin Taglist est téléchargeable directement depuis
Sourceforge.
D-2. Installation
L'installation est très simple, il suffit de décompresser l'archive que vous venez de télécharger dans le dossier .vim/ qui doit normalement se trouver à la racine de votre répertoire utilisateur. Si ce dossier n'existe pas, il suffit alors de le créer via la commande suivante :
Il suffit maintenant de décompresser l'archive dans ce nouveau dossier, vous devriez alors obtenir 2 dossiers :
- le dossier plugin contenant le fichier taglist.vim, c'est le fichier principal du plugin
- le dossier doc contenant le fichier taglist.txt, c'est le fichier de documentation
Nous allons ensuite ajouter la documentation du plugin à (G)Vim, pour cela allez dans le répertoire doc et lancez (G)Vim depuis ce répertoire, ensuite entrez la commande suivante dans (G)Vim :
Ajout de l'aide dans (G)Vim |
|
A partir de maintenant vous aurez accès à l'aide du plugin Taglist directement dans (G)Vim en tapant simplement :
Accès à l'aide dans (G)Vim |
|
D-3. Configuration
Nous allons maintenant voir comment configurer le plugin pour une utilisation optimale. Tout d'abord pour utiliser le plugin dans (G)Vim, c'est-à-dire faire apparaître une fenêtre contenant l'ensemble des tags, il faut entrer la commande suivante :
- :TlistOpen qui permet d'ouvrir simplement la fenêtre des tags
- :TlistToggle qui permet d'ouvrir et/ou de fermer la fenêtre des tags
Autant être clair tout de suite, ce n'est vraiment pas très pratique de devoir taper cette commande. Heureusement, il est possible de créer un mapping permettant d'ouvrir la fenêtre des tags en appuyant simplement sur une touche. Pour cela il va falloir éditer à nouveau le fichier de configuration de (G)Vim, c'est-à-dire le fichier .vimrc ou .gvimrc en fonction de celui que vous utilisez. Dans ce fichier ajoutez la ligne suivante :
Mapping pour le plugin |
nnoremap <silent> <F8> :TlistToggle<CR>
|
Cette commande signifie "lorsque j'appuie sur F8 -> lancer la commande :TlistToggle". Il vous suffit maintenant d'appuyer sur F8 pour ouvrir la fenêtre des tags ou alors pour la fermer si celle-ci est déjà ouverte. N'hésitez pas à modifier cette commande si vous souhaitez utiliser une autre touche.
Dans le screenshot présent au début de l'article on peut voir qu'il est possible d'afficher le tag courant dans la barre de statut. Pour faire cela, il suffit de personnaliser cette barre via le fichier de configuration de (G)Vim :
Personnalisation de la barre de statut |
:set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)
|
Il est possible de faire la même chose avec la barre de titre Windows :
Personnalisation de la barre de Windows |
:set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%)
|
Oups! J'allais oublier de vous dire que pour que cela fonctionne, il est nécessaire d'activer de façon permanente le plugin. Pour cela il faut initialiser la variable Tlist_Process_File_Always à 1, dans le fichier de configuration de (G)Vim :
Initialisation de la variable globale |
let Tlist_Process_File_Always = 1
|
Voici maintenant une liste des différentes variables que vous pouvez utiliser pour personnaliser le fonctionnement du plugin. Pour activer chaque paramètre, il suffit d'initialiser la variable correspondante à 1.
Nom de la variable |
Utilité |
Tlist_Close_On_Select |
Ferme la fenêtre des tags lorsqu'un tag ou un fichier a été sélectionné |
Tlist_Exit_OnlyWindow |
Ferme (G)Vim s'il n'y a plus que la fenêtre des tags d'ouverte |
Tlist_Use_SingleClick |
Sélectionne un tag d'un simple clic |
Tlist_Auto_Highlight_Tag |
Désactive la surbrillance du tag en cours, variable à initialiser à 0 |
Tlist_Show_One_File |
Affiche les tags d'un seul fichier |
Tlist_File_Fold_Auto_Close |
Replie automatiquement les fichiers inactifs |
Tlist_Display_Prototype |
Affiche le prototype au lieu du nom du tag |
Tlist_Use_Horiz_Window |
Utilise une fenêtre horizontale plutôt que verticale |
Tlist_Use_Right_Window |
Place la fenêtre des tags sur la droite de l'écran |
Tlist_Auto_Open |
Ouvre automatiquement la fenêtre des tags au lancement de (G)Vim |
Il existe beaucoup d'autre options pour le plugin Taglist, plus ou moins intéressantes, vous les retrouverez dans la documentation.
D-4. Utilisation
Maintenant que le plugin est correctement configuré vous allez pouvoir l'utiliser. Voici la liste des commandes de base :
Commande |
Action |
<Enter> ou double-clic |
Saut vers l'endroit où est défini le tag situé sous le curseur |
o |
Saut vers l'endroit où est définit le tag situé sous le curseur dans une nouvelle fenêtre |
t |
Saut vers un tag en ouvrant un nouvel onglet, si le fichier est déjà ouvert dans un onglet alors on se déplace dans cet onglet |
Ctrl-t |
Saut vers un tag dans un nouvel onglet |
u |
Mise à jour des tags listés dans la fenêtre |
d |
Supprime le tag ou le fichier sous le curseur |
x |
Zoom + ou Zoom - sur la fenêtre des tags |
+ |
Ouvre un pli |
- |
Ferme un pli |
* |
Ouvre tous les plis |
= |
Ferme tous les plis |
q |
Ferme la fenêtre des tags |
<F1> |
Affiche l'aide |
Ces différentes commandes sont à utiliser dans la fenêtre des tags. Il existe d'autre commandes plus ou moins utiles, vous les retrouverez toutes dans la documentation du plugin.
Terminé! Vous savez maintenant comment utiliser ce superbe plugin, mais ceci n'est que la base de ce que vous pouvez faire avec Taglist, je vous conseille fortement d'aller lire la documentation, vous y apprendrez énormément de choses sur l'utilisation et le paramétrage de Taglist.
E. Annexes
- Lien vers le site officiel de Vim : Lien
- Page man de Vim : Lien
- Définition de Vim sur developpez.com : Lien
- Lien vers le site officiel du plugin Taglist : Lien
- Lien vers le site officiel de l'outil Ctags : Lien
- Lien vers mon fichier de configuration pour Vim : vimrc
- Lien vers mon fichier de configuration pour GVim : gvimrc
Copyright © 2007 Nicolas Gressier.
Aucune reproduction, même partielle, ne peut être faite
de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.