====== VIM - Config - Indentation - File type based indentation ====== This type of indentation is the most flexible, as it allows users to customize indentation per file type. Enable this type of automatic indentation with the following command: filetype plugin indent on **NOTE:** This command will use indentation scripts located in the indent folder of the vim installation. ---- [[VIM:Config:Indentation:File type based indentation:Different settings for different file types|Different settings for different file types]] ---- For instance, the indentation scripts for C and C++ file types properly set the **cindent** option, and there are very competent indentation scripts for Ruby, Perl and many other languages and file types. File type based indentation even works correctly with Makefiles without interference! **WARNING:** If you plan on using file type based indentation, do not set **smartindent** or **cindent**. * You may still set **autoindent**, since it does not interfere. The vimrc_example.vim that ships with Vim enables filetype based indentation: if has("autocmd") " Enable file type detection. " Use the default filetype settings, so that mail gets 'tw' set to 72, " 'cindent' is on in C files, etc. " Also load indent files, to automatically do language-dependent indenting. filetype plugin indent on " ... endif