created September 30, 2003 · complexity basic · author mohsin · version 6.0
"Use TAB to complete when typing words, else inserts TABs as usual. "Uses dictionary and source files to find matching words to complete. "See help completion for source, "Note: usual completion is on <C-n> but more trouble to press all the time. "Never type the same word twice and maybe learn a new spellings! "Use the Linux dictionary when spelling is in doubt. "Window users can copy the file to their machine. function! Tab_Or_Complete() if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w' return "\<C-N>" else return "\<Tab>" endif endfunction :inoremap <Tab> <C-R>=Tab_Or_Complete()<CR> :set dictionary="/usr/dict/words"
Even easier than <Tab> is to have words completed automatically. There are some drawbacks to this, but the word_complete.vim plugin works pretty well.
To use the dictionary, add 'k' to your ':set complete'. For language keywords (tags), also add ']'. See :help 'complete'.