Why does Vim ignore files in ~/.vim/after/ftplugin?

I seem to have a problem with my local Vim configuration but I'm not sure what it is. I need to override some filetype-specific settings. As per multiple tutorials/howtos, I created ~/.vim/after/ftplugin/cpp.vim with appropriate setlocal statements, but it seems not to be read. I checked that ~/.vim/after is in runtimepath.

I worked around this with autocmd FileType cpp setlocal ... in ~/.vimrc, but that is beyond the point. Any advice on how to diagnose/fix this? Or am I just overlooking something obvious?


Solution 1:

Check the output of:

:filetype

You may need to add

filetype plugin on

to your .vimrc (or at least add 'plugin' to your 'filetype' setting).

Solution 2:

A good place to start would be to use the :scriptnames command. Open a C++ file however you normally do and execute

:scriptnames

This will show you the files that Vim has sourced since it was started.