Just getting back to this....Thanks for all the tips.
I've been using the supertab plugin as I've found the native auto-complete key combinations to be a little difficult to master. I call it within my .VIMRC using:
let g:SuperTabDefaultCompletionType = "context"
Indenting is not something I've configured yet, but for handling matching bracket pairs, etc., the autoclose plugin does a pretty good job.I'll give the indenting setting a try.
Confirming what I am seeing when VIM editing a bash script, the above article states how (depending on the language) auto-complete only prompts based on words which already exist in the document. To do more requires further configuration.
This statement however requires further qualification....because in reality, support for auto-complete is language dependent.
An example of this is HTML, where by default the language is fully supported and auto-complete provides a comprehensive list of all possible options, regardless of how many words already exist in the document.
So it looks like the answer is:
By default, some languages are fully supported. Whereas other languages (at least BASH, PHP, Python, etc.) are only partially supported (which means VIM requires supplication to fully support them).
This begs the question...why native full support for HTML only? Auto-complete seems a bit half-baked in this regard.