Vim을 사용하여 텍스트 파일의 각 줄 시작 부분에 단일 연속 숫자 삽입

Vim을 사용하여 텍스트 파일의 각 줄 시작 부분에 단일 연속 숫자 삽입

몇 가지 문자열이 포함된 텍스트 파일이 있다고 가정해 보겠습니다.

string_g
string_r
string_qqwer
string_p
string_f
string_3qw
string_e
string_qw

문자열 앞에 증가하거나 감소하는 숫자를 삽입해야 합니다.

001 string_g
002 string_r
003 string_qqwer
004 string_p
005 string_f
006 string_3qw
007 string_e
008 string_qw

혼란을 피하기 위해:

줄 번호를 표시하고 싶지 않습니다. 나는 그것이 어떻게 작동하는지 알고 있습니다. 내가 원하는 것은 텍스트의 각 문자열 시작 부분에 있는 실제 숫자입니다.

이것을 자동화할 수 있는 방법이 있나요 vim?

CTRL각 문자열의 시작 부분을 -로 표시한 V다음 :실행 모드로 들어가도록 입력하면 선택을 통해 명령을 실행할 수 있지만 :'<,'>거기에서 멈춰 있습니다.

답변1

외부 유닉스 명령을 사용하십시오 nl.

:'<,'>!nl -w 3 -n rz -s' '

답변2

그냥 사용하세요 vim(외부 명령 없음):

let i=1 | '<,'>g/^/ s//\=printf("%03d ",i) / | let i+=1

let i=1시작하려는 번호로 변경하세요 .

관련 정보