내 vim의 패치 버전을 어떻게 알 수 있습니까?


17

vim 7.4가 설치되어 있지만 설치할 때의 패치 레벨이 확실하지 않습니다. 어떻게 확인합니까?

vim --version

준다

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 15 2014 16:18:44)
....

그러나 패치 수준이나 부 버전 번호는 제공하지 않습니다.

답변:


25

패치되지 않은 버전의 vim이있는 것 같습니다. 그렇지 않으면 :version명령 또는 --version매개 변수가 두 번째 행에 패치를 나열합니다. 예를 들어 내 컴퓨터에서는 다음과 같이 말합니다.

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 10 2014 09:36:33)
Included patches: 1-207, 209-355, 357-430

이것은 "patchlevel"430이지만 패치 208 및 356은 건너 뜁니다.

Vim에는 major.minor 이외의 "부 버전 번호"가 없습니다 . 일부 배포판에서는 "patchlevel"을 사용할 수 있다고 생각합니다.


위에 표시된 것처럼 모든 패치가 포함 된 것은 아니므로이 값을 사용하려면 특정 버전보다 숫자가 높은지 확인할 수 없습니다.

일반적으로 가장 좋은 방법은 사용하는 것입니다 has("patch-7.4-399"). 다음과 같은 경우 true를 반환합니다.

  • 패치 399가 포함 된 Vim 7.4를 실행하고 있습니다.
  • Vim 7.5 이상을 실행하고 있습니다.

의 형식을 사용할 수도 has('patch399')있으며 일반적으로 다음과 같이 사용됩니다.

if v:version == 704 && has('patch399')

그러나 알고 있어야합니다. 이것은 Vim 7.5의 경우에는 잘못된 것입니다 . 매우 특정한 경우에만 사용하십시오.

자세한 내용 :help feature-list은 참조하십시오.


본인은 리디렉션 이상 포함 된 모든 패치를 나열하는 방법을 찾을 수 없습니다 :version로 나는이 유용 어쨌든 될하지 않도록하는 방법도 해요 ... 그리고 그 구문 분석을 has()충분합니다 :-)


2
그것은인가 has("patch-7.4-399")또는 has("patch-7.4.399")? (후자는 일부 코드 완성에 의해 나에게 제안되었으며, 제공 한 링크에서 실제로 설명 된 것처럼 보입니다 )
akavel

2
@akavel 그들은 둘 다 작동합니다. patch-7-4-399;-)를 사용할 수도 있습니다
Martin Tournoij

ahh, awsum, then :)
akavel

3
patch-7.4.399형식은 이후에만 사용할 수 있습니다 7.4.237. 참조하십시오 :h has-patch.
blueyed

1
↑ @blueyed는 대시 또는 도트 사용 여부와 무관하게 has('patch-7.4-399')major.minor 및 패치 버전을 한 번의 스윕 으로 확인 하는 전체 기능을 나타 냅니다. v:version-.
Aaron Thoma
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.