Developpez.com - Linux
X

Choisissez d'abord la catégorieensuite la rubrique :


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.

               Version PDF   Version hors-ligne

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 :

  1. Gestion des replis permettant de plier/déplier les différentes parties
  2. 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
  3. 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
filetype on
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 :
mkdir ~/.vim
Il suffit maintenant de décompresser l'archive dans ce nouveau dossier, vous devriez alors obtenir 2 dossiers :

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
:helptags .
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
:help taglist

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 :

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

  1. Lien vers le site officiel de Vim : Lien
  2. Page man de Vim : Lien
  3. Définition de Vim sur developpez.com : Lien
  4. Lien vers le site officiel du plugin Taglist : Lien
  5. Lien vers le site officiel de l'outil Ctags : Lien
  6. Lien vers mon fichier de configuration pour Vim : vimrc
  7. Lien vers mon fichier de configuration pour GVim : gvimrc


               Version PDF   Version hors-ligne

Valid XHTML 1.1!Valid CSS!

Copyright © 2007 Nicolas Gressier. Aucune reproduction, même partielle, ne peut être faite de ce site et 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.

Contacter le responsable de la rubrique Linux