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


Je voudrais afficher la colonne actuelle dans la barre d'état, comme cela est courant dans de nombreux autres éditeurs de texte. Par exemple. il est bon de savoir si vous êtes autour de la colonne 80 ou plus.

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


154
2017-12-06 20:35


origine


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


Réponses:


Essayez si vous choisissez l’option «règle». Sur mon ordinateur en bas à droite, la ligne et la colonne où se trouve le curseur.

:set ruler

EDIT TO COMMENTS:

De l'aide de vim (commande :help ruler):

Si le nombre de caractères affichés est différent du nombre de   octets dans le texte (par exemple, pour une tabulation ou un caractère multi-octets), les deux   la colonne de texte (nombre d'octets) et la colonne d'écran sont affichées,   séparé avec un tiret.

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


184
2017-12-06 20:43



Oui, en quelque sorte. Mais cela montre une valeur étrange, par ex. 23,62-68 23 semblaient être la ligne. Comment devrais-je interpréter 62-68 pour la colonne? - Jonas
62 compte les onglets comme un caractère, 68 compte les onglets étendus - RedGrittyBrick
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 une tabulation ou un caractère multi-octets), la colonne de texte (nombre d'octets) et l'écran les colonnes sont affichées, séparées par un tiret. " Vous pouvez essayer de le changer avec l'option 'rulerformat', comme ': set rulerformat =% l,% v' - Birei
ruler ne fonctionne pas avec des fenêtres fractionnées dans Vim. - Mihai
@Jonas Non seulement les onglets, comme l'a dit RedGrittyBrick, mais aussi les caractères et les octets. Ceci est très apparent dans les fichiers UTF-8 où un glyphe à caractère unique a un point de code à plusieurs octets. Par exemple, le latin eñe (n avec tilde dessus, prononcé EN-yea) est un glyphe à un seul caractère mais prend deux octets pour représenter le point de code (\ xC3B1) et un tiers (1/3) est un glyphe à un seul caractère avec un point de code de trois octets (\ xE28593). - Luv2code


Voir :help statusline pour les nombreuses options disponibles.

J'ai ceci dans mon ~/.vimrc entre un tas d'autres directives:

set statusline+=col:\ %c,

quelles sorties

col: 64

dans ma ligne de statut.

Je n'ai pas set ruler.


26
2017-12-06 21:28



Cela ne fonctionne pas pour moi. J'ai probablement besoin de plus de réglages. - Jonas
Jonas, vous devrez peut-être utiliser le set laststatus=2 dans ton .vimrc pour toujours afficher la ligne d'état. (0 -> ne jamais afficher la ligne d'état, 1 -> seulement s'il y a au moins deux fenêtres, 2 -> afficher toujours la ligne d'état). - pabuisson
J'ai utilisé les éléments suivants pour fournir un espace avant ceci et les éléments précédents sur le statusline: set statusline + = \ col: \% c, - David Baucum


Ou, laissez la règle «non définie», un gain de performance et appuyez sur CTRL-G quand vous voulez voir la colonne en cours.


18
2017-11-09 20:35



Frapper Ctrl-Anything ne ressemble pas à un gain de performance. Nous tapons des caractères. Aucun humain ne possède les doigts et les yeux qui volent assez vite pour voir ce genre de différence de performance. - macetw


Une autre façon de faire 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)


17
2018-03-05 10:51



Cette solution a quelque chose de bien, qui différencie Column et VisibleColumn. Les caractères non imprimables sont affichés sur 2 colonnes, mais doivent être comptés comme un seul. Si les caractères non imprimables, la sortie ressemble à ceci: RealColumn-VisibleColumn, Line, Word, Character and Byte. - mxlian


Je me déprécierais en utilisant la règle définie car je crois qu’elle n’est pas compatible avec les options de ligne d’état, par ex. si vous définissez le statusline pour afficher le chemin de fichier complet en combinaison avec set ruler

set statusline+=%F

set ruler

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

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

Il va tout afficher correctement, à savoir le

[Chemin_fichier / nom_fichier] [numéro de ligne]: [numéro de colonne]


9
2018-01-17 13:01





Pour les autres personnes qui recherchent cette réponse et qui ne sont pas habituées à travailler avec VIm, la réponse la plus simple que j'ai trouvée consiste à ajouter cette ligne à la fin de votre fichier .vimrc dans votre répertoire personnel:

set ruler


1
2017-08-21 04:46