One of Vim’s most incredible, built in, features is autocomplete. It’s also got some neat tricks that you can use to make your coding very efficient. This is all native Vim. No plugins here.
Let’s jump straight to the point: Vim can autocomplete a word, but it also knows the context of where it found the keyword, and can complete the next word after it.
A place I often find this used is refactoring specs. Say I have a user = ...
assignment in a spec that I want to extract out into a let
. I can’t autocomplete the whole line, because they start differently. I could copy the line and modify it. OR, I could do this…
Notice how the context after the create :user
is all autocompleted. So fast.
The relevant Vim help
The help text for :h i_CTRL-P
states,
Further use of CTRL-X CTRL-N or CTRL-X CTRL-P will copy the words following the previous expansion in other contexts unless a double CTRL-X is used.
So, the pattern is
-
Autocomplete a word with
CTRL-P
orCTRL-N
-
Complete context by mashing
CTRL-X CTRL-P
orCTRL-X CTRL-N
Give it a go, it wont take long to become intuitive and incredibly useful.
P.S. for the Emacs users who have yet to convert to Vim, you can check out HippieExpand.