![문자를 검색하고 삭제한 후 삽입하는 방법](https://linux55.com/image/134866/%EB%AC%B8%EC%9E%90%EB%A5%BC%20%EA%B2%80%EC%83%89%ED%95%98%EA%B3%A0%20%EC%82%AD%EC%A0%9C%ED%95%9C%20%ED%9B%84%20%EC%82%BD%EC%9E%85%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
내 문자열은 다음과 같습니다
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