Vim은 터미널 색상 이스케이프 코드를 해석 할 수 있습니까?


29

많은 CLI 프로그램이 잘 강조 표시된 텍스트를 출력합니다. 대부분은 출력이 파일로 전달되는지 확인하지만 일부는 터미널 이스케이프 코드를 포함합니다. 이스케이프 코드가있는 출력이 마음에 들지만 Vim에서 이러한 파일을 보는 것은 고통 스럽습니다.

Vim이이 이스케이프 코드를 예상 색상으로 해석 할 수 있습니까? 그렇지 않은 경우 Vim이이 이스케이프 코드를 무시하도록 설정할 수 있습니까?

답변:


28

이스케이프 코드를 통해 ANSI 색상을 볼 수있는 다양한 플러그인이 있습니다.


모든 이스케이프 코드 를 제거 하려면 다음을 사용할 수 있습니다.

:%s/<1b>\[[0-9;]*m//g

참고 : <1b>입니다 되지 는 이스케이프 문자, 사용 인, 리터럴 텍스트 Ctrl+ v다음에 Esc(그것도으로 표시 할 수 있습니다를 삽입하는 ^[사용자에 따라 display설정).

또는 sed;로 제거 할 수 있습니다 . 예를 들면 다음과 같습니다.

$ sed 's|\x1b\[[;0-9]*m||g' somefile | vi -

0

+ terminal 기능을 가진 충분히 현대적인 vim을 가지고 있다면 :term cat somefile, 모든 터미널 코드가 해석 된 버퍼를 얻을 수 있습니다 .

이것은 Colorizer보다 큰 파일에서 더 잘 작동 할 수 있습니다. 6000 줄 파일에서 느슨해지면 vim을 느리게 만들었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.