Nie jest dla mnie całkowicie jasne, co chcesz, ale w Vimie możesz zrobić coś takiego:
:for i in range(line('$')) | call append(i+i, printf("this is line %d:", i+1)) | endfor
Powód, dla którego używam i+i „jest tak, ponieważ linie są wstawiane do bufora, numery linii zmieniają się, a to poprawia to. (Jeśli masz inny„ punkt początkowy ”w swoim zakresie, twój algorytm korekty będzie musiał być bardziej skomplikowany.)
Lub jeśli chcesz zmodyfikować istniejące linie w buforze:
:for i in range(1, line('$')) | call setline(i, printf("this is line %2d: %s", i, getline(i))) | endfor
Oczywiście, jeśli nie chcesz zmieniać bufora, ale po prostu wydrukujesz na ekranie, użyj „echo” zamiast „wywołania” i usuń fragmenty append () / setline () z całego printf ().
Widzieć:
:help :for
:help :call
:help :echo
:help range()
:help line()
:help append()
:help setline()
:help getline()
:help printf()