A framework for auto-completion of words and phrases in vim