created February 16, 2008 · complexity basic · author Metacosm · version 7.0
Omni completion provides smart autocompletion for programs. When invoked, the text before the cursor is inspected to guess what might follow. A popup menu offers word completion choices that may include struct and class members, system functions, and more. A similar feature in Microsoft Visual Studio is known as IntelliSense.
Vim 7 supports various languages, including C. Omni completion scripts can be written to support other languages, and to customize behavior. :help new-omni-completion :help compl-omni
Windows users need to install a recent version of Exuberant Ctags (Ctags 5.7, released September 2007, is recommended). :help ft-c-omni
C++ support
When editing a C++ file, enter the command :set omnifunc? to see what completion function is being used. If the result is omnifunc=ccomplete#Complete, it means you are using the C completion provided with Vim (not C++).
To support C++, install OmniCppComplete. See its doc/omnicppcomplete.txt file for information.
Related tips
TO DO
- Need to make sense of this, and probably merge a few.
- Meanwhile, keep the following list as a useful reference for readers and editors.
Popup menu and mappings
- 102 Smart mapping for tab completion
- 1228 Improve completion popup menu
- 1257 Ctrl-p - autocomplete
- 1386 Make Vim completion popup menu work just like in an IDE
- 1486 Omni completion popup menu
Random thoughts on IDE
Usage with Python
- 1311 Compile a separate copy of Vim for Python coding
- 1548 Continue omnicompletion for python modules