前提
gitなどで設定ファイルを管理していて,どのマシンでも同じ設定をgit cloneですぐに引っ張れるようにしている.
こうするとスタートアップは用意であるものの,環境依存の設定のためエラーを吐いたり最悪の場合は動作しないことがある.
今回はその中でも vim の場合.
対処法
vimの設定は.vimrcや.gvimrc(vim.gtkなど)などで設定する.
.vimrcなどの中では条件分岐が使える.
1を返す関数がTrueを,0を返す関数がFalseを意味する.
has('feature')が便利で,OSによる分岐や:versionで出力されるfeatureの有無(+/-)による分岐が可能.
例えば,pluginのsingletonはclientserverを必要とするが,cygwinでコンソールでのみvimを使う場合にエラーを吐く.
これを防ぐためには
if has('clientserver') call singleton#enable() endif
などとすればどちらにも対応できる.