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パラメーターが2行目にパッチをリストします。たとえば、私のマシンでは次のように表示されます。

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

これは「パッチレベル」430ですが、パッチ208と356をスキップします。

Vimにはmajor.minorを超える「マイナーバージョン番号」はありません。ただし、一部のディストリビューションでは「パッチレベル」を使用していると考えています。


上記のように、すべてのパッチが含まれているとは限らないため、この値を使用する場合、特定のバージョンよりも数値が大きいかどうかだけをチェックすることはできません。

通常、使用するのが最善の方法です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;-)
マーティントゥルノイ

ああ、オーサム、それから:)
akavel

3
patch-7.4.399フォーマットは後にのみ使用可能です7.4.237。を参照してください:h has-patch
19:32にブルー化された

1
↑@blueyedはhas('patch-7.4-399')、major.minorとパッチバージョンの両方を1回でチェックする機能全体を指します(ダッシュv:versionを使用するかどうかに関係なく)。-.
アーロントーマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.