Et zou, encore un gadget pour notre barre de status, l'affichage de la taille du fichier courant.

Là encore une fonction interne de Vim nous donne cette information : getfsize renvoie la taille du fichier dont le nom est passé en paramètre.

Bien sûr, pas question de spécifier le nom du fichier en dur ou à la volée, c'est Vim qui va nous le donner. Le motif % contient cette information. Cependant elle n'est pas utilisable directement par la fonction getfsize, elle est prévue pour les macros commandes.

On doit donc utiliser la fonction expand pour transformer le mot-clé en une chaîne de caractères. Un petit essai avant de modifier notre .vimrc :

:echo getfsize(expand('%'))

Attention, si votre fichier n'existe pas, c'est-à-dire, un nouveau fichier pas encore sauvé, la fonction getfsize renvoie -1. D'ailleurs, la valeur que nous allons afficher est celle du fichier sauvé. Elle n'est pas mise à jour en temps réel au fur et à mesure que vous tapez.

Voici donc notre statusline après cet ultime ajout :

set statusline=%a\ %t%1*%m%*%10l/%2*%L%*%6c%V/%2*%{strlen(getline('.'))}%*%10{getfsize(expand('%'))}o

Prochain épisode, on active le viseur !