Python IDE with autocomplete and attached documentation

Is it possible for vim to auto-complete function names, variables, etc when used for programming?

Many IDEs automatically complete function names, variables, method names, etc. as user types. The best complete the names based on both the language's built-in library and what has already been defined in other files in the same program.

For example, while I'm typing the following Python program:

The row will automatically appear as an available autocomplete option.

Does Vim have this ability? If so, how can I activate it?


There are many different types of autocomplete in vim. One possibility could be the use of SuperTab. This provides the ability to use tab completion more or less at all times. This would allow you to press after partially typing the word in for a completion list. For example, type the following to expand

Please note : These images all link to sample gifs in action.

Vim has excellent other options. You should read to see the multitude of completion options built in. Using vims - - in combination with a Python-enabled plugin like jedi can give a completeness taste. Jedi can be configured to show documentation for omni completion (this is what - - does). Then the documentation for the graduate candidates is displayed in a split window.

Using similar plugins but different options leads to different behaviors. For example, it is possible that you don't need to ask for autocomplete (if that's what you're looking for). Instead, after entering a certain number of letters (e.g. 2 or 3) of a word, a plug-in can try to intelligently offer possible completions in a menu.

So the short answer is Yes! However, the configuration process can be a little complicated. I consider it a step on the long flight of stairs to master Vim.

This functionality, i.e. searching the current file (and all open files) for automatic completion, should be activated by default with:

You can go for it n with ext suggestion that p with revious suggestion and select this by entering any letter (which is appended directly after the suggestion).

Vim has support for native completion. You can find out about the different degrees that Vim supports.

In general, for all purposes that I have found, Ins completions are fine for my tastes, however there are some completion plugins that add value beyond what Ins completions offer. NeoComplete, YCM (YouCompleteMe) are some of them. They're more advanced in the sense that they try to combine different types of completions more accurately, and they also have advanced caching mechanisms so they tend to be faster. YCM even works with external compilers / utilities to improve IntelliSense.

Yes, there are autocomplete scripts for vim. The "best" choice depends on your programming language. Since your sample code is Python, I suggest looking at Jedi. Building on that, you complete me as existing, which also has support for other languages, but is sometimes seen as too big. For other languages ​​you can search the detailed vim scripts.

In insert mode, start typing a word, then press:

This is particularly useful when entering the names of variables in a program.

The Complete option controls where keywords are searched (including files, tag files, buffers, and more).

The 'completeopt' option controls how completion occurs (e.g. whether a menu is displayed).

We use cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By continuing, you consent to our use of cookies and other tracking technologies and affirm you're at least 16 years old or have consent from a parent or guardian.

You can read details in our Cookie policy and Privacy policy.