76

I see one of these two lines in .vimrc files. This one seems to be most common:

filetype plugin indent on

But how does it differ from this line:

filetype indent on

I've found documentation for the latter, but I'm still confused.

1
  • 3
    side tip: you can do :filetype to show the filetype settings.
    – wisbucky
    Jun 17, 2018 at 1:25

1 Answer 1

88

filetype plugin indent on is like a combination of these commands:

filetype on
filetype plugin on
filetype indent on

It turns on "detection", "plugin" and "indent" at once. You can check for yourself by reading :help :filetype-overview.

Detection

What does filetype "detection" do? From the docs:

Each time a new or existing file is edited, Vim will try to recognize the type of the file and set the 'filetype' option. This will trigger the FileType event, which can be used to set the syntax highlighting, set options, etc.

This is less confusing if you realise that the filetype command is distinct from the filetype option. (The command :filetype..., the option: :set filetype...)

Plugin

What does the "plugin" part do? From the docs:

This actually loads the file "ftplugin.vim" in 'runtimepath'.

The result is that when a file is edited its plugin file is loaded (if there is one for the detected filetype).

The file being loaded is not necessarily named ftplugin.vim, it could be ftplugin/html_example.vim for instance.

Indent

What does the "indent" part do? From the docs:

This actually loads the file "indent.vim" in 'runtimepath'.

The result is that when a file is edited its indent file is loaded (if there is one for the detected filetype). indent-expression

Again, the file may not be named indent.vim, it could be named indent/html_example.vim for instance.

2
  • 3
    to make it clear, the name of the file should correspond to the 'filetype' for which is is going to be activated, e.g. either <type>/foobar.vim (a subdirectory per filetype) or <type>_foobar.vim or simply <type>.vim where <type> corresponds to the actual filetype Nov 7, 2016 at 11:10
  • @ChristianBrabandt Maybe your words can be added to the answer. It's an important point to make the answer complete. Mar 9 at 15:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.