vim의 내 텍스트는 다음과 같습니다.
i am one line
i come in next line
i come after a tab space
위의 텍스트를 이렇게 변환할 수 있나요?
i am one line\ni come in next line\n\ti come after a tab space
답변1
n
귀하의 질문에 대한 제가 이해한 바에 따르면 개행 문자를 리터럴 시퀀스 백슬래시로 변환하고 그 뒤에 tabs 및 탭 문자를 리터럴 시퀀스 백슬래시로 변환하고 싶습니다 t
.
탭 교체는 물론 문제 없습니다. 일반 문자열 교체와 동일합니다. 이 시도:
:%s/\t/\\t/
\t
참고: 검색 패턴의 이스케이프 시퀀스와 같은 이스케이프 시퀀스 인식가능한Vim에서만 작동합니다. 나는 모른다. 현재 위치에서 작동하지 않으면 vi
해당 위치에 실제 탭 문자를 입력해야 합니다. 이 탭은 다음과 같이 표시됩니다( ^I
동일하지는 않음).^
I
:%s/^I/\\t/
개행의 경우에도 동일한 작업을 시도해 보세요.
:%s/\n/\\n/
또, 이가능한Vim만, 잘 모르겠습니다. 본질적으로 줄 기반 편집기이기 vi
때문에 개행 문자를 바꾸는 데 운이 없을 수도 있습니다 .vi