2回ぐらい Lingr に話題になったネタなんですがいつも忘れているので覚書。 Vim script で文字列を比較する場合、==# を使用する事が多いと思います。 let s:homu = "homu" echo s:homu ==# "mado" " => 0 echo s:homu ==# "homu" " => 1 上記の場合だと問題はないのですが、文字列以外の場合と比較する場合に問題になります。 " 数値を設定する let s:homu = 0 echo s:homu ==# "" " => 1 echo s:homu ==# "homu" " => 1 このように両方とも 1 が返ってきます。 [回避方法] is#、isnot# を使用します。 let s:homu = "homu" echo s:homu is# "mado" " => 0 echo s:homu is# "