Calculer le nombre de caractères dans une ligne
Par Dimitri Robert, mercredi 2 août 2006 à 12:13 :: Vim :: #139 :: rss
Lorsque nous avons personnalisé la ligne de status il nous manquait l'information du nombre de caractères par lignes. Il n'existe pas de motif pour statusline donnant cette information. Cependant, il y a possibilité d'appeler une fonction Vim et d'en afficher le résultat.
En fait nous utilisons deux fonctions. La première, strlen(), tout comme en C, donne la taille d'une chaîne de caractères. Il nous faut donc donner à cette fonction une chaîne composée de toute la ligne courante.
Cette chaîne est obtenue grâce à la fonction getline() appelée avec le paramètre '.'. Rappelez-vous, le point sert à désigner la ligne courante.
Avant d'aller plus loin vous pouvez tester que je ne vous dis pas de bétises. Tapez cette commande pour afficher le nombre de caractères de la ligne courante :
:echo strlen(getline('.'))
Nous pouvons maintenant compléter notre statusline comme ceci :
set statusline=%a\ %t%1*%m%*%10l/%2*%L%*%6c%V/%2*%{strlen(getline('.'))}%*
L'ajout a été fait à la fin. La syntaxe pour afficher le résultat d'une fonction consiste à encadrer cette dernière de %{ et }. Pour les autres options je vous renvoie au billet précédent.
Prochain épisode, afficher la taille du fichier dans la statusline.


Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.