몇 가지 문자열이 포함된 텍스트 파일이 있다고 가정해 보겠습니다.
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
시작하려는 번호로 변경하세요 .