문자를 검색하고 삭제한 후 삽입하는 방법

문자를 검색하고 삭제한 후 삽입하는 방법

내 문자열은 다음과 같습니다

P12106003;test_01_01

나는 명령을 사용하고 있습니다

:g/test_.._../norm 10Xi<<Esc>A>

결과는 다음과 유사해야 합니다.

<test_01_01>

작동 안함.

답변1

X뒤로 삭제하세요. while은 :norm일치하는 각 줄의 시작 부분에서 일반 모드로 들어갑니다. 그래서 당신은 x원할 것입니다

g/test_.._../norm 10xi<^[A>

( ^[입력된 실제 ESC 문자 사용 Ctrl+VEsc).

아니면 이렇게 할 수도 있습니다:

g/test_.._../norm dni<^[A>

여기서는 다음을 사용하는 것이 더 간단할 수 있습니다 :s.

:%s/\v.*(test_.._..)/<\1>/

또는 각 항목 앞의 10자를 제거하고 test_.._..포장하십시오 <...>.

:%s/\v.{10}(test_.._..)/<\1>/g

또는 다음과 일치하는 것 P<digits>;:

:%s/\vP\d+;(test_.._..)/<\1>/g

관련 정보