Numéro de ligne actuel aligné à gauche avec le numéro et le numéro relatif

8

J'utilise des numéros de ligne relatifs avec un numéro de ligne absolu pour la ligne actuelle:

set number
set relativenumber

Le numéro de ligne actuel absolu est toujours aligné à gauche, et les pages d'aide (ou Google) ne semblent pas offrir une option pour changer cela.

Est-il possible d'empêcher cet alignement à gauche, ou devrai-je apprendre à vivre avec?

entrez la description de l'image ici

jviotti
la source
Il semble qu'un correctif soit en cours d' élaboration
Martin Tournoij

Réponses:

12

Depuis screen.c, win_line()fonction (autour de la ligne 3707):

/* 'number' + 'relativenumber' */
num = lnum;
fmt = "%-*ld ";

Le le %-rend aligné à gauche (Voir sprintf(3)). Comme vous pouvez le voir, cette valeur est codée en dur.

Si vous le voulez vraiment, vous pouvez le modifier pour:

fmt = "%*ld ";

et recompiler. Le résultat devrait être quelque chose comme:

entrez la description de l'image ici

Bien sûr, cela pourrait faire un bon candidat pour une option / patch :-)

Martin Tournoij
la source
Que diriez-vous d'aligner toutes les autres lignes non actuelles vers la gauche?
rafi
@RafiB. Je ne comprends pas ton commentaire?
Martin Tournoij
prendre votre capture d'écran par exemple, en alignant les numéros de ligne 1-2 et 1-3 vers la gauche.
rafi
@RafiB. Oui, c'est possible, en modifiant la source ...
Martin Tournoij