vundleを使うとfiletypeがおかしい時の対処法

さらに追記

いつのまにかこの方法をしなくても問題なくfiletypeが選ばれていました
原因と根本的な解決方法は不明です

追記

翌々考えると追記前の奴は起動時しかfiletypeが設定されないので訂正します

autocmd BufWinEnter * filetype detect

こう書いたほうがいいと思う

以下は追記前の内容

結論:
~/.vimrcに

autocmd VimEnter * filetype detect

を書くだけ

以下どうでもいい話:
もちろん
~/.vimrcに

set nocompatible
filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

"Bundleがいくつか書いてある

filetype plugin indent on

この様に書いてますがfiletypeがおかしいです
いくら調べても同じ問題に直面してる人がいるように思えないので
こちらの特殊なケースにだけ発生するように思えますが
まあそんなのは今はどうでもいいです

filetype off

これを消すとfiletypeはきちんと選ばれているのですが
vundleのREADMEに書いてあるものを消す勇気なんてないので別の解法を調べてみた

:help filetype@ja

日本語のhelpを眺めているとなんだかちょうどいいのを見つけた
直接見たい人は

:help filetype-detect

これが早いです
一部引用します

再びファイル検出を有効化するには: >
        :filetype detect
空のファイルから編集を始めて、ファイル形式を判定するのに充分なテキストをタイプ
してからコレを使用する。
(以下略)

とりあえず空のファイルじゃないけど

:set filetype
 filetype=conf

となる以下のcファイルでfiletype detectを打ってみる

#include<windows.h>
int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){
    MessageBox(NULL,"hello world","hello world",MB_OK);
    return (0);
}

貼った意味ないと思うけど…

:filetype detect
:set filetype
 filetype=c

きちんとシンタックスc言語のになっているしfiletypeも問題ない
後はこれを起動時に読み込ませるだけだ
勝手にコマンドを実行するのに

autocmd

これを使うのは知っていたので

:help autocmd@ja

もちろん日本語のhelpを見る
するとVimEnterなんてのを見つけた
詳しい説明を見たい人は

:help VimEnter

で見れます
ちなみにこれはvimが使えるようになった時に実行されるようになるらしい
後はこれらを組み合わせて結論で書いた

autocmd VimEnter * filetype detect

これを~/.vimrcに書いて終わり
ちなみに真ん中にあるアスタリスクは全てのファイルでっていう意味だ
自信ないけどね…
つまり日本語に直すと
vimが使えるようになったら自動でファイルタイプの再設定を行うって意味だ