77 votes

Vim - compter les lignes dans la plage sélectionnée

Je veux compter les lignes dans une plage, peu importe laquelle, mais que ce soit, disons, un bloc visuel. Quel est le moyen le plus court de le faire ? Tout ce qui me vient à l'esprit est quelque chose comme : '<,'>s/.//n mais je ne crois pas que ce soit le chemin le plus court.

Alors, quelqu'un peut me donner un indice ? Merci d'avance.

128voto

sehe Points 123151

En mode visuel, appuyez sur gC-g

Sortie typique :

Selected 7 of 22 Lines; 8 of 32 Words; 201 of 491 Chars; 201 of 497 Bytes-- VISUAL LINE --


Source : : :he count-items ( découvrable en tant que : :heTabTab ... )

21voto

Luc Hermitte Points 14171

Définir l'option showcmd ( :h 'sc' ), et vous n'aurez jamais besoin de taper quoi que ce soit pour savoir combien de lignes sont sélectionnées -- au début, comme j'ai oublié que j'ai réglé cette option, je n'ai pas compris le sens de votre question. ^^'

Sinon, si vous voulez obtenir ce nombre par voie programmatique, c'est simple :

:echo line("'>") - line("'<") + 1

A l'intérieur d'une fonction d'intervalle, elle peut aussi être obtenue par a:lastline-a:firstline+1 . ( :h function-range-example )

7voto

Laurence Gonsalves Points 50783

'<,'>s///n est plus court d'un caractère :-)

Si je veux simplement connaître le nombre de lignes d'une sélection visuelle, j'ai l'habitude de l'arracher (en appuyant sur la touche y ). Il sera indiqué "5 lignes arrachées" ou "bloc de 5 lignes arrachées" selon le type de sélection.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X