정규식을 사용하여 vim에서 패턴을 검색한 다음 정규식이 일치하는 항목을 변경하지 않고 무언가를 삽입하려면 어떻게 해야 합니까? 예를 들어, 파일에서
foo123
bar4567
12zw231xy
숫자가 아닌 각 문자와 숫자 사이에 개행 문자를 삽입하여 다음과 같은 파일을 만들고 싶습니다.
foo
123
bar
4567
12zw
231xy
답변1
:%s/\(\D\)\(\d\)/\1\r\2/g
\(\)
캡처 그룹입니다. 여기에 캡처된 콘텐츠는\1
및 에 의해 복제됩니다\2
.\D
숫자가 아니고\d
숫자입니다.\r
Vim에서 개행 문자가 됩니다.
이는 다음과 같이 단순화될 수 있습니다.매직 모드정규 표현식 활성화됨 \v
:
:%s/\v(\D)(\d)/\1\r\2/g