VIM의 각 단어 중간에 한 문자를 배치하십시오.

VIM의 각 단어 중간에 한 문자를 배치하십시오.

다음과 같은 여러 줄이 포함된 파일이 있습니다.

RUS.LEN.8 "0612" "1212" "0605" "0606" "0000" "2121" "0401" "1211" "0000" "0707" "0000" "0000" "1111" "0303" "0303" "0102" "0133" "0602" "0000" "0404" "1212" "1111" "0000" "0101" "0000" "0909" "0103" "1010" "1515" "0000"

VIM을 사용하여 4개 숫자 블록의 중간에 /를 배치하고 싶습니다. 어떻게 해야할지 아시나요?

답변1

이 되다 0612,06/12포착첫 번째와 마지막 두 숫자를 별도로 분리한 다음 대체하여 다시 결합하고 /중간에 하나를 추가합니다. :substitute' 플래그를 사용하면 g이것이 적용됩니다.모두한 줄의 성냥. 범위를 사용하면 :%명령이 다음에 적용됩니다.모든버퍼의 라인.

:%substitute#\(\d\d\)\(\d\d\)#\1/\2#g

노트

  • 기본 구분 기호는 이며 /문자 그대로 대체에도 사용됩니다. ( \/)를 이스케이프 처리할 수도 있지만 더 읽기 쉬운 방법은 다른 구분 기호(여기서는 #)를 사용하는 것입니다.
  • 캡처 그룹( \(...\))는 대체에서 해당 번호로 참조됩니다. \1\2. 바라보다 :help s/\1.
  • 아래에서 정규식 및 구문에 대한 자세한 내용을 확인할 수 있습니다 :help :s.

답변2

이러한 교체를 위해 다음을 사용할 수 있습니다.

:%s/"[0-9]{2}/&//g 여기에 이미지 설명을 입력하세요.

관련 정보