vim 명령을 컴파일 타임 기능에 매핑

vim 명령을 컴파일 타임 기능에 매핑

Vim은 다음과 같은 개념을 가지고 있습니다.특징, 즉 컴파일 타임 플래그에 따라 실제 설치에서 지원되거나 지원되지 않을 수 있는 기능의 하위 집합입니다. 기능을 사용하여 기능의 존재 여부를 확인할 수 있으며 has(), 명령을 사용하여 가능한 모든 기능을 열거할 수 있습니다 feature-list.

나는 기능을 사용하기 전에 기능을 확인하여 vim 스크립트를 더욱 강력하게 만들고 싶습니다. 내 문제는 어떤 명령이 어떤 기능에 의존하는지 명시적으로 문서화되어 있지 않다는 것입니다.

구체적인 예: 일부 Linux 배포판은 vim.tiny기능이 크게 제한된 버전인 vim. 을 실행하면 많은 오류 메시지가 표시됩니다 vim.tiny. .vimrc예를 들어 let명령을 사용할 수 없지만 어떤 기능이 이 명령을 제공하는지 명확하지 않습니다. 어떻게 확실하게 결정할 수 있습니까? 아니면 가능하지 않다면 어떻게 vim 시작이 에 대해 정상적으로 저하되도록 만들 수 있습니까 vim.tiny?

답변1

Vim 플러그인 타겟팅아주 작은으로 구성되어 있기 때문에 어렵습니다.매우제한된 기능 세트. 린(Lean) 대체품을 의미합니다.vi, 단지 몇 가지 매핑만 지원합니다.

즉, has()및 를 사용하여 특정 기능을 감지하고 주장하는 것이 실제로 가능합니다 exists(). :let로 래핑하면 의 오류를 방지할 수 있지만 :if 1앞서 말했듯이 "일반적인" 기능을 갖춘 Vim을 목표로 하고 최신 기능(예:숨기다, 지속적인 실행 취소(Vim 7.3에 도입됨) 및 필수 버그 수정(필요한 경우에만).

관련 정보