- 2010-01-08 (金) 0:00
- Vim Hacks
自分でプラグインを書く場合、プラグインが動作している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
- Newer: 日本のVim業界の近況について
- Older: Hack #114: Vimを再起動することなくロードパス$PATHを書き換える
Comments:0
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

