vi에서 보이지 않는 문자를 이스케이프 시퀀스로 변환하시겠습니까?

vi에서 보이지 않는 문자를 이스케이프 시퀀스로 변환하시겠습니까?

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

관련 정보