I am trying to update my Vim configuration scripts. There are a number of sub-directories in my ~/.vim directory and I’m not sure the specifics of what they do, nor why there are some that seem to be redundant.
Here is what my ~/.vim directory tree looks like
|-after
|---ftplugin
|---syntax
|-autoload
|-compiler
|-doc
|-ftplugin
|---latex-suite
|-----dictionaries
|-----macros
|-----packages
|-----templates
|---python
|-indent
|-plugin
|-spell
|-syntax
Now for the specific questions.
- What goes in
pluginvsftplugin? - What is the difference between
pluginandautoload? - When should I put something in
after/...instead of in the directories directly under~/.vim?
Whatever goes into
pluginis loaded whenever vim starts whereas what you put inftpluginis only loaded for the specific filetype it corresponds to (so if you have a folder there called python all the files there will be loaded when you open a python file.In
autoloadyou should have the functions corresponding to the the scripts defined inplugin. The functions here will only be loaded when called by the first time.In
afteryou should put settings that you want to change from the normal plugin loading.As an example suppose you like the settings that some plugin for latex gives you, but it redefined a mapping that you had in your
.vimrc. You can revert this with autocommands or by putting the correct definitions in after.