Skip to content


This project aims to use Vim as a powerful and complete Python IDE. In order to do that, we curated a list of awesome plugins available in the community and provided an automatic installation procedure for this set.


Requirements for Ubuntu distros

sudo apt install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \
python3-dev git

Requirements for Fedora distros

sudo dnf install -y ctags git python python-devel \
python3 python3-devel tcl-devel

Installation process

git clone && \
cd vim-python-ide && ./


Please check the available features and the plugins that enable them.

Syntax Highlighting

Syntax highlighting for several languages, besides Python.

Powered by:

Color Themes

Several popular color schemes:

  • Monokai
  • Gruvbox
  • Much more

Powered by:

Project Navigation

Easily navigate your project using:

  • File tree explore (Nerdtree)
  • Fuzzy finder based on the file names
  • File structure (classes, functions, methods). Powered by:

  • Nerdtree

  • Fzf
  • Tagbar
  • Full text search based on both exact match and fuzzy finder capabilities
  • Extremely fast.

Powered by:

Real time linting

Lint source files in real time an check for errors and warnings.

Powered by:

Code navigation

  • Go to function definitions
  • Check parameters and docstrings easily.

Powered by:

Code refactoring

Extract methods, variables and rename functions easily.

Powered by:

Code completion

Use hints and dialog boxes to speed your development using code completion.

Powered by:


Snippets save time while you type and creates standardization for your code.

Powered by:

Git Integration

Perform git operations and highlight changes in the repo.

Powered by:

Key bindings

Action Mode key binding
Toogle Nerdtree Normal crtl + n
toogle Tagbar Normal f8
Look for file Normal crtl + p
Goto definition Normal crtl + ]
Show docstring Normal K
Extract method Normal/Visual crlt + c r m
Auto complete Insert crtl + space
Expand snippet Insert tab


Command Description Command
Look for string :Rg <string>
git status :Gstatus
git diff :Gdiff