Archives pour la catégorie vim

Tag List sous vim

Une des fonctions les plus utiles pour naviguer dans un code source est la possibilité d’avoir une vue globale du fichier.
Il existe pour cela dans la plupart des IDE, une liste des fonctions/procédures.
Cette liste permet d’accéder directement à la fonction, souvent par un double-clic.

Vim permet de faire ceci grâce au greffon taglist.
taglist_vim

Après avoir décompressé le plugin dans votre répertoire ~/.vim/plugin/, vous pourrez ajouter aussi la documentation (doc/taglist.txt) au répertoire ~/.vim/doc. Comme déjà expliqué dans un article précédent, il faudra ensuite faire sous vim

:helptags ~/.vim/doc

.

Ouvrez votre fichier source, puis tapez maintenant :TlistToggle.
Cela fera apparaître une fenêtre de la liste de vos variables, fonctions, classes, tout ceci de manière hiérarchique.

Pour naviguer sur une fonction, il suffit de positionner son curseur sur la fonction et de faire Entrer.
Pour passer d’une fenêtre à l’autre, faire la combinaison Ctrl-W W.

Pour obtenir une petite aide rapide des raccourcis claviers, taper F1 dans la « Taglist ».
Vous pourrez voir comment ouvrir ou fermer une arborescence.

Par défaut la liste des tags est affichée dans l’ordre d’apparition du fichier source.
Lorsque vous chercherez une fonction dont vous connaissez le début du nom, vous souhaiterez plutôt un affichage par ordre alphabétique.
Rien de plus simple, il suffit de taper la touche s (sort) dans la taglist.
Si vous tapez de nouveau sur cette touche, on bascule de nouveau sur l’affichage classique.

Pour ouvrir un nouveau fichier, placez vous d’abord dans la fenêtre du fichier source existant puis taper :e nouveau_fichier.c.
Vous pouvez aussi taper la commande :TlistAddFiles nouveau_fichier.c. Cette commande permet aussi d’ouvrir plusieurs fichiers en même temps, en précisant *.c par exemple.

Pour fermer un fichier, il suffira de faire un :bdelete (buffer delete).
cf. article sur l’édition de plusieurs fichiers et la manipulation des buffers
Plus simplement, vous pouvez positionner le curseur sur le fichier dans la Taglist et appuer sur la touche d.

Petite astuce: pour ouvrir facilement la Taglist ajouter ce code dans .vimrc :

map <F8> :TlistToggle

Comme vous l’aurez compris, cela permet d’ouvrir la Taglist par la touche F8 : très pratique !

Utilisation des fenêtres

Comme vous avez pu le remarquer lors de l’utilisation de l’aide vim (:help), il est possible de manipuler des fenêtres.
Dans un premier temps, si vous éditez un seul fichier, puis tapez la commande :split, cela permet d’ouvrir une nouvelle fenêtre. La séparation horizontale est faite par une ligne en inverse vidéo. Le seul fichier ouvert est visible sur 2 fenêtres. Ceci permet par exemple de consulter les déclarations de variables dans une fenêtre, tout en se déplaçant dans la procédure sur l’autre fenêtre.
Lire la suite

Pages man

Accéder aux pages man est aisé sous un shell.
Il l’est moins sous vim étant donné qu’il faut systématiquement passer par la commande ! pour faire appel à un programme externe (vu dans le sujet précédent).
:!man printf
Nous allons donc voir comment accéder de la manière la plus simple et conviviale à cette aide indispensable.
Lire la suite

Gestion de versions sous vim

Gestion de versions

Nombreux sont ceux qui utilisent un gestionnaire de versions sur des projets de grands envergure, sur lesquels de nombreuses personnes développent.
Ceci permet de conserver une certaine cohérence sur le projet, de faire un retour arrière plus facilement, ou encore de fusionner le travail de plusieurs personnes sur une même source.

Etant donné le nombre de plus en plus croissant de gestionnaires de versions, nous installerons un greffon plutôt générique : VCSCommand.

Lire la suite

Remplacement

:[plage]substitute/source/cible/[drapeaux]

Le mot-clé substitute n’est presque jamais tapé complétement. Généralement on utilise le diminutif s.
Voici un exemple d’utilisation :

:%s/developper/developpez/

Ceci remplacera la première occurence de ‘developper’ par ‘developpez’ sur toutes les lignes (%).
Sur le texte suivant :

Sur le site developper.com, il est possible de parler de langages sur lesquels vous developper.
Alors n’hésitez pas ! developper !

L’application de la commande précédente donnera :

Sur le site developpez.com, il est possible de parler de langages sur lesquels vous developper.
Alors n’hésitez pas ! developpez !

Lire la suite

Recherche

Une des fonctions primordiales d’un éditeur est sa capacité rechercher et substituer des chaines de caractères. Vim est assez bien pourvu de ce côté.
Elle est de plus très simple à utiliser puisqu’il suffit de taper ‘/’ en mode commande pour voir apparaître en bas de l’écran ce caractère. Il suffit ensuite de taper la chaine à rechercher puis de valider par la touche Entrée.
Vim cherchera la prochaine occurrence à partir du curseur en direction de la fin du fichier.

En tapant n, la prochaine occurrence sera recherchée. Sa version majuscule permettra de chercher dans le sens contraire (ie. vers le début du fichier).
Il est possible d’utiliser les quantifieurs. La commande 4n permettra de rechercher la 4ème occurrence.
Lire la suite

Enregistrement de commandes

Nous avions vu précédemment que la commande « . » permettait de répéter une commande.
Il se peut cependant que vous souhaitiez répéter une suite de plusieurs commandes, un peu comme une macro que vous auriez enregistré.
C’est tout à fait possible avec Vim puisque les commandes doivent être enregistrées dans un registre nommé par une lettre alphabétique.
Si vous tapez qa, l’enregistrement démarre sur le registre a et vous voyez la barre d’état se mettre à jour de la manière suivante :

Enregistrement d'une commande

Lire la suite

Comparaison de fichiers

Voici une des fonctions les plus importantes lorsqu’il s’agit s’agit par exemple de comparer plusieurs versions de source.
Pour cela il est d’appeler le programme vimdiff avec comme paramètres les 2 fichiers à comparer.

$ vimdiff test.txt test2.txt

Voici le résultat observé :

vimdiff
Lire la suite

Premier programme Open GL

Nous allons maintenant écrire un petit programme en C utilisant la librairie Open GL.
Il est nécessaire pour cela d’installer quelques paquets.

apt-get install libglut3-dev => librairie GLUT (GL Utility Toolkit) qui permet entre autres d’intéragir avec la souris, le clavier, etc… Ceci installera par dépendences la librairie OpenGL.
apt-get install manpages-fr-dev => Documentation de la glibc en français

Lire la suite