검색 및 바꾸기를 수행하고 싶습니다. 숫자가 아닌 문자 앞에 있는 개행 문자는 탭 문자로 대체되어야 합니다. 나는 노력했다
%s/\n\D/\t/g
그러나 그것은 내가 원하는 것이 아닌 개행 문자 뒤의 단어의 첫 번째 문자를 대체합니다.
abcd
abcd
도착하다
abcd bcd
a
개행 문자 뒤에 계속 유지하고 싶습니다 .
답변1
거의 다 왔지만 정규 표현식이 개행 문자를 대체하고 있습니다.그리고탭 문자가 포함된 숫자가 아닙니다.
숫자가 아닌 모든 개행 문자를 탭 문자로 바꾸는 방법그리고 같은 숫자가 아닌?
%s/\n\(\D\)/\t\1/g
\D
이스케이프는 약간 혼란스럽지만 기본적으로 숫자가 아닌 모든 것을 잡을 수 있는 그룹이 있습니다 . 그런 다음 \1
탭 뒤에 인용하고 삽입하세요.
답변2
한 가지 방법은 닫는 일치 태그를 사용하는 것입니다.
%s/\n\ze\D/\t/
또 다른 방법은 부정적인 예측을 사용하는 것입니다.
%s/\n\d\@!/\t/
그것들은 정확히 동일하지 않으며, 두 번째 것도 파일의 마지막 개행 문자를 대체합니다.
답변3
이것이 당신에게 도움이 되기를 바랍니다
:%s#\n.\D#\t#g