vim 외부에서 사용하기 위해 강조 표시된 소스 코드를 파일로 출력하는 방법


9

저는 직장에서 우리가 가진 몇 가지 문제를 해결하기 위해 개발 한 사용자 지정 언어의 프레젠테이션을하고 싶습니다. 보다 쉬운 개발을 위해이 특정 언어에 대한 고유 한 vim 구문 파일을 작성했습니다.

이제 다른 컴퓨터에 표시해야합니다.이 구문 파일에는 없습니다. 내가 아는 한, vim이 설치되어 있지 않을 수도 있습니다 (그러나 의심합니다).

less -r내 컴퓨터에서와 동일한 구문 강조 표시를 얻기 위해 파일을 사용할 수 있다면 완벽 할 것 입니다.

그러나 색상을 유지하면서 복사 및 붙여 넣는 방법 (Debian의 gnome 터미널에서) 또는 vim의 원시 제어 문자로 구문 강조 표시로 파일을 출력하는 방법을 모르겠습니다. vim에서 솔루션을 찾는 데 더 자신감이 있지만 그렇게하기 위해 무엇을 찾아야할지 모르겠습니다.

구문 강조 표시를 사용하여 연 파일을 다른 파일에서 ANSI raw-control-chars로 출력하는 방법을 알고 있습니까?

답변:


13

:TOhtmlVim과 함께 제공 되는 명령을 사용하여 (구문 강조 표시) 버퍼 (또는 그 일부)의 HTML 표현을 만들 수 있습니다. 그러면 대상 시스템에 대한 유일한 요구 사항은 캡처 된 파일을 표시하는 브라우저입니다. 자세한 내용 :help :TOhtml을 참조하십시오.

ANSI 이스케이프 시퀀스 출력을 고집한다면 플러그인을 수정하여 아마도 그렇게 할 수는 있지만 사소한 노력이 아닐 것입니다.


3
세상에! 정말 완벽합니다. 한 번 이상 답변을 드릴 수 있기를 바랍니다.
DainDwarf

2

vimpager 프로그램 에는 "vimcat"이라는 스크립트가 포함되어 있습니다. 이스케이프 코드로 변환 된 vim의 구문이 높은 파일을 출력 할 수 있습니다.

(추가 자기 홍보 : 네오 빔 포크를 썼습니다 : nvimpager .)


1

[편집] : vim과 스크립트를 사용할 때 고양이가 속임수를 쓰지 않는 것을 눈치 채 셨지만 'head'를 사용할 수 있습니다.

guest@demomachine$ head -c [terminalsize] demo.typescript

EXAMPLE: guest@demomachine$ head -c 3710 demo.typescript

프리젠 테이션 머신에 사용 가능한 컬러 터미널이 있고 * nix 기반 인 경우 다음을 사용하여 스크립트를 기록 할 수 있습니다.

you@yourmachine$ script -c "vim [sourcefile]" demo.typescript

그리고 그냥

guest@demomachine$ cat demo.typescript

cat이 vim 및 스크립트에서이 문제에 대해 작동하지 않을 수 있습니다. 위의 편집을 참조하십시오.

프리젠 테이션 머신에서. 힌트 : 녹음하는 동안 터미널 크기는 데모 머신보다 작거나 같아야합니다.

스크립트를 사용하면 전체 터미널 세션을 기록 할 수 있으므로 scriptreplay를 사용하여 데모를 기록하고 재생할 수 있습니다.

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