261 votes

Comment afficher la colonne actuelle dans la barre d'état de vim ?

J'aimerais afficher la colonne actuelle dans la barre d'état, comme c'est le cas dans de nombreux autres éditeurs de texte. Par exemple, il est bon de savoir si vous vous trouvez à la colonne 80 ou au-dessus.

Comment afficher la colonne actuelle dans la barre d'état ?

2 votes

Si vous voulez afficher la colonne actuelle du curseur, tapez :echo col('.').

0 votes

293voto

Martin Hatch Points 101

Essayez si l'option "règle" est ce que vous recherchez. Sur mon ordinateur, la ligne et la colonne où se trouve le curseur sont affichées en bas à droite.

:set ruler

MODIFICATION DES COMMENTAIRES :

A partir de l'aide de vim (commande :help ruler ) :

Si le nombre de caractères affichés est différent du nombre d'octets du texte (ex. d'octets dans le texte (par exemple, pour un TAB ou un caractère multi-octet), la colonne de texte (numéro d'octet) et la colonne d'écran sont toutes deux affichées. la colonne de texte (numéro d'octet) et la colonne d'écran sont affichées, séparés par un tiret.

Vous pouvez essayer de le modifier avec rulerformat option, comme :set rulerformat=%l,%v

0 votes

Oui, en quelque sorte. Mais cela donne une valeur étrange, par exemple 23,62-68 La ligne de démarcation semble être 23. Comment dois-je interpréter 62-68 pour la colonne ?

8 votes

62 compte les tabulations comme un seul caractère, 68 compte les tabulations développées

1 votes

Extrait de la commande ':help ruler' : "Si le nombre de caractères affichés est différent du nombre d'octets dans le texte (par exemple, pour un TAB ou un caractère multi-octets), la colonne texte (numéro d'octet) et la colonne écran sont toutes deux affichées, séparées par un tiret." Vous pouvez essayer de le modifier avec l'option 'rulerformat', comme ':set rulerformat=%l,%v'

37voto

Craig McQueen Points 13194

Voir :help statusline pour les nombreuses options disponibles.

Je l'ai dans mon ~/.vimrc entre un tas d'autres directives :

set statusline+=col:\ %c,

qui produit

col: 64

dans ma ligne d'état.

Je n'ai pas set ruler .

1 votes

T

0 votes

J'ai utilisé ce qui suit pour créer de l'espace avant ceci et ce qui précède sur la ligne d'état : set statusline+=\Ncol:\N%c,

0 votes

J'aime mieux cette réponse que ruler Quelqu'un d'autre veut personnaliser vim devrait essayer d'éditer .vimrc fichier.

32voto

Peter Points 429

Une autre façon de procéder est de faire "g Ctrl-G", qui imprime la position actuelle du curseur de cinq manières différentes : Colonne, Ligne, Mot, Caractère et Octet. (de http://vimdoc.sourceforge.net/htmldoc/editing.html#g_CTRL-G )

0 votes

Cette solution a quelque chose d'intéressant, qui différencie Column et VisibleColumn. Les caractères non imprimables sont affichés sur 2 colonnes, mais doivent être comptés comme une seule. Si les caractères ne sont pas imprimables, la sortie ressemble à ceci : RealColumn-VisibleColumn, Line, Word, Character and Byte .

0 votes

Cette solution fonctionne également à partir de vi donde :se ruler? donne E519: Option not supported: ruler?

18voto

Spiros Points 21

Ou bien, laissez 'ruler' désactivé, un gain de performance, et appuyez sur CTRL-G lorsque vous voulez voir la colonne actuelle.

10 votes

Appuyer sur Ctrl-Anything ne semble pas être un gain de performance. Nous tapons des caractères. Aucun être humain n'a les doigts et les yeux assez rapides pour voir ce genre de différence de performance.

17voto

Giovanni Macciocu Points 279

Je déprécierais l'utilisation de set ruler car je pense qu'elle n'est pas compatible avec les options de statusline, par exemple si vous configurez le statusline pour afficher le chemin de fichier complet en combinaison avec set ruler.

set statusline+=%F

set ruler

Dans ce cas, il n'affiche PAS le numéro de colonne, mais uniquement le chemin d'accès complet au fichier dans la barre d'état. Cependant, si vous mettez ce qui suit dans votre .vimrc

set statusline+=%F\ %l\:%c

Il affichera tout correctement, à savoir le

[chemin d'accès/nom de fichier] [numéro de ligne] : [numéro de colonne].

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X