Não está completamente claro para mim o que você quer, mas no Vim você poderia fazer algo assim:
:for i in range(line('$')) | call append(i+i, printf("this is line %d:", i+1)) | endfor
O motivo pelo qual eu uso " i+i
" é que, conforme as linhas são inseridas no buffer, os números de linha são alterados e isso é corrigido. (Se você tiver um "ponto de partida" diferente no seu intervalo, seu algoritmo de correção terá que ser mais complicado.)
Ou se você quiser modificar as linhas existentes no buffer:
:for i in range(1, line('$')) | call setline(i, printf("this is line %2d: %s", i, getline(i))) | endfor
É claro que, se você não quiser alterar o buffer, mas apenas imprimir na tela, use "echo" em vez de "call" e remova os blocos append () / setline () ao redor do printf () .
Veja:
:help :for
:help :call
:help :echo
:help range()
:help line()
:help append()
:help setline()
:help getline()
:help printf()