On vundle\'s homepage, it documented that it requires filetype to be off in .vimrc:
filetype off \" required!
set rtp+=~/.vim/bundle/vund
You can set filetype on
after the last Vundle command:
filetype off " required!
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
...
Vundle 'blabla'
Vundle 'blabla2'
filetype plugin indent on " re-enable filetype
I wanted to address the why part of this problem.
Most of this answer is from the following github thread
https://github.com/VundleVim/Vundle.vim/issues/176
It is Vim's feature.
Vim makes cache for filetype plugins from runtimepath. So if vundle changes runtimepath, it must reset before calling.
It's also said there that this problem was only there before 7.3.430.
As @Maxim Kim has answered, its better to turn it on after everything related to Vundle
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" Let vundle manage itself:
Plugin 'VundleVim/Vundle.vim'
" Syntax checking plugin
Plugin 'scrooloose/syntastic'
call vundle#end()
filetype plugin indent on " Filetype auto-detection
syntax on " Syntax highlighting
This is the answer to your WHY, I took it from Vundle's contributor. Basically, what he meant is you need to turn of off to avoid unexpected behaviors when Bundle
commands are running. And after that, you can turn it back on.
After the bundles block. File type detection must be enabled after the Bundles block because the runtime path is updated by every Bundle command and that could potentially bring new file types or more plugins for specific file types. It also appears that turning it on, when it's on, does nothing, so it must be turned off before.
If you are reluctant to turn it off because it affects some file type detection, please try a newer vim version, with the 430th patch (quite unluckily, Ubuntu picked up only up to the patch right before that one.)