Almost no matter what you are writing, you will eventually write the same words over and over again. In Vim, you can simply type in the first couple of letters of the word and then press Ctrl-n.
Example:
You want to write the sentence:

“I have beautiful flowers in my flower garden.”

Since you have no text besides this in the file, you will have to write the entire first part of the text until it looks like:
“I have beautiful flowers in my f”

Now, you would normally continue the word “flower” but since it is already there, you can simply press Ctrl-n and the word will expand to “flower”. As your text evolves, you will see that you can start using auto-completion on more and more words.
What Ctrl-n actually does is look for a matching word by going forward through the file. If you know that you have just used the word, then it will be faster to use Ctrl-p instead because Vim will then search backwards in the file for a matching word. In general, you won’t feel the difference unless you are working with really large files, or there are many possible matches.

Auto completion of words from Dictionary:

A neat trick is to find a large dictionary file with all kinds of words in your favorite language, then load this file into Vim as an dictionary (such files can easily be found on the Internet). To load the file into Vim as a dictionary, simply add it to the dictionary setting with:

:set dictionary+=/path/to/dictionary/file/with/words

usually the dictionary is available in

/usr/share/dict/words

Therefore, we can use

set dictionary-=/usr/share/dict/words dictionary+=/usr/share/dict/words

Best way of using this feature is to append this line to .vimrc file.

Now Vim suddenly knows a lot of words beforehand, and you can simple auto-complete using these words. Something is different, however. Now the words we use to look in are not words from one of the open buffers, but keywords from one of the dictionary files available in the dictionary setting. This is why you will need to use another key binding in order to do the completion this time.
ctrl-x ctrl-k

By pressing Ctrl-x you get into a completion mode, and by pressing Ctrl-k you do a lookup for a keyword (remember k for keyword) in the dictionaries.

Other completion types are available. Some of them are in the following list:
Ctrl-x plus:
• Ctrl-l     Complete whole lines of text
• Ctrl-n     Complete words from current buffer
• Ctrl-k     Complete words from dictionaries