Home > Vim Hacks > Hack#115: Vimのバージョンや拡張機能をチェックする

Hack#115: Vimのバージョンや拡張機能をチェックする

自分でプラグインを書く場合、プラグインが動作しているVimのバージョンやVimで有効になっている機能を確認したい場合があります。ここでは、そんなときに役立つ関数について解説します。

Vimのバージョンをチェックする方法

Vimのバージョンをチェックするには、v:version変数をチェックすればよいです。百の位がVimのメジャーバージョン、十の位と一の位がマイナーバージョンを表します。例えばVim 7.2で:echo v:versionすると、702が表示されます。720ではありません。Vimがバージョン7以上であることをチェックするには次のようにします。

if v:version < 700
    echoerr 'Does not work this version of Vim "' . v:version . '".'
    finish
endif

ちなみに、パッチレベルはhas('patch100')などでチェックします。詳しくは、:help has-patchを参照してください。

有効になっている拡張機能をチェックする方法

自分のVimがどのような拡張機能を持っているかは、:versionを実行するのが早いですが、 プラグインがチェックする場合には使えません。スクリプトでチェックするには、has()を用います。 たとえば、Windowsかどうかをチェックするには、

if has('win32') || has('win64')
    " Windowsの場合の処理
endif

です。GVimかどうかをチェックするには、has('gui_running')です。これはhas('gui')と間違えやすいので気をつけてください。has('gui')はGUI機能付きでコンパイルされているかどうかをチェックします。has('gui_running')でうまく条件を切り分ければ、.gvimrcを用いずにGVim用の設定を.vimrcだけで完結させることも可能です。 ただし、最初vimで起動して:guiでGUIになる場合は.vimrcのhas('gui_running')設定は読み込まれません。注意してください。(mattnさん情報)

使用上の注意

Vim6以下の場合はスクリプト機能が全然違うので、切り捨てても良いですが、Vim7以降の差異はそこまでありません。 本当にそのバージョンをチェックするべきなのかをよく考えましょう。 拡張機能も本当に必要なものだけを使うようにしましょう。

Shougo

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://vim-users.jp/2010/01/hack115/trackback/
Listed below are links to weblogs that reference
Hack#115: Vimのバージョンや拡張機能をチェックする from Vim-users.jp

Home > Vim Hacks > Hack#115: Vimのバージョンや拡張機能をチェックする

Search
Feeds
Links
  • 公式
  • 勉強会
  • 情報
  • コミュニティ
  • プラグイン
  • vimrc
  • Meta
    Etc
    Creative Commons License
    This blog is licensed under a Creative Commons License.

    Return to page top