색상 코드로 표시된 Vim 디스플레이 색상을 만드는 방법은 무엇입니까?


59

즉, 나는 대체하기위한 노력에있어 less함께 vim( vimpager). 스크립트가 가능할 때마다 색상을 뱉어 내고 대담하고 멋지게 설정하는 설정이 있습니다. less색상 코드를 이해하고 잘 표시합니다. 어떻게 할 수 vim방법은 / 대담 코드 및 디스플레이 색상을 구문 분석 less합니까?

답변:


44

두 가지 답변 :

짧은 하나 : vim 스크립트 AnsiEsc.vim 을 사용하고 싶습니다 . 파일에서 실제 ANSI 이스케이프 시퀀스를 숨기고 구문 강조를 사용하여 텍스트의 색상을 적절하게 지정합니다. 호출기에서 이것을 사용할 때의 문제점은 이것을 언제 사용할지 vim이 인식해야한다는 것입니다. 단순히 항상로드 할 수 있는지 또는 다른 구문 파일과 충돌하는지 확실하지 않습니다. 당신은 그것을 실험해야합니다.

긴 대답 : 당신이 기대할 수있는 가장 좋은 것은 이식 할 수없는 부분적인 솔루션입니다. 터미널 이스케이프 시퀀스는 실제로는 터미널에 의존하지 않기 때문에 이해하지 못하지만, 이들을 부분적으로 인식 할 수는 없으며, -r(또는-R) 옵션. 터미널은 이스케이프 시퀀스를 해석하고 텍스트의 속성 (컬러, 굵은 체, 밑줄 등)을 변경합니다. 호출기가 아닌 편집기 인 Vim은 단순히 원시 제어 문자를 터미널에 전달하지 않습니다. 어떤 방식 으로든 표시해야하므로 실제로 편집 할 수 있습니다. 은닉 및 구문 강조와 같은 vim의 다른 기능을 사용하여 시퀀스를 숨기고 텍스트 색상을 설정하는 데 사용할 수 있지만 항상 터미널 시퀀스의 하위 집합 만 처리하며 일부 터미널에서는 작동하지 않을 수 있습니다. .

이것은 실제로 텍스트 편집기를 호출기로 사용하려고 할 때 발생하는 많은 문제 중 하나입니다.


간단히 말해서 입력에 존재하는 터미널 이스케이프 시퀀스를 처리하는 부분 인 Vim에 터미널 에뮬레이터의 일부를 작성해야합니다.
Gilles

고마워, 내가 포기하는 것 같아 쉽지 않다면 더 이상 의미가 없습니다.
phunehehe 2019

1
@JanHlavacek 링크가 끊어졌습니다 :(
Nitrodist

19
@Nitrodist : less -r FILE( source )
Adobe

1
월의 링크로 이동 한 것으로 보인다 linux-tips.com/t/how-to-enable-syntax-highlighting-in-less/208
디모데 죤

2

이제 vim 8에서는 터미널 모드를 사용할 수 :terminal있으며 해당 터미널에서 cat myfileCtrl-w N을 사용하여 일반 모드로 돌아갈 수 있습니다.

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