Como contar o número de caracteres em cada linha no vim?

5

No vim, como posso contar o número de caracteres em cada linha ?

how
to
count
number
of characters?

Por exemplo, se eu abrir um arquivo com o texto acima, quero ver contagens como abaixo

3
2
5
6
20
    
por Lazer 08.03.2012 / 05:56

3 respostas

5

Uma maneira de fazer isso:

:for i in range(1, line('$')) | echo i . ': ' . strlen(getline(i)) | endfor

Esta versão mostra o número da linha antes da contagem de caracteres.

    
por 08.03.2012 / 06:51
6

Outra maneira:

:%!awk '{print length($0)}'

UPDATE: Ainda mais curto (cada tecla conta!):

:%!awk '{print length}'

desde que acabei de notar que o comprimento é padronizado para toda a linha.

    
por 08.03.2012 / 13:43
1

A questão era sobre o vim, mas apenas para comparação, aqui está como você pode fazer isso no Vedit:

Repeat(ALL) {
   EOL
   Num_Type(Cur_Col-1)
   Line(1, ERRBREAK)
}

ou como one-liner:

Repeat(ALL){ EOL NT(CN-1) L(1, ERRBREAK) }
    
por 08.03.2012 / 14:05