Vim as a Golang and Python IDE

Rahasak Ops

(λx.x)eranga
Effectz.AI
2 min readAug 6, 2020

--

Background

I’m using Vim as my Golang, Python, Scala, Erlang and LaTeX IDEs. Also using ideavim plugin which enables me to use Vim key movements and features in Intellij IDEA and Android Studio. In my previous post I have discussed about using Vim as LaTeX editor. In this post I’m gonna discuss about using Vim as Golang and Python editor. All the Vim configurations which related to this post available in gitlab. Please clone the repo and continue the post. The cover image of this post shows the look and feel of my Vim IDE setup.

Vim plugins

Following are the various Vim plugins I’m using in my setup. I have installed them with using git submodules.

  1. vim-go - Vim Golang plugin. Supports syntax highlighting, auto completion, goto documentation etc.
  2. python-mode - Vim Python plugin. Supports syntax highlighting, run Python code, Python indentation etc.
  3. nerdtree - File system explorer for the Vim editor. Allows to browse directory hierarchies, open files, perform basic file system operations etc.
  4. powerline - Utility plugin to create better looking, more functional vim status line.
  5. ctrlp - Utility plugin to fuzzy search files. Allows to open files easily with fuzzy search.
  6. vim-notes - Utility plugin to manage notes with Vim.

Vim configurations

Following is my .vimrc configuration file. It contains various configurations related to above mentioned plugins, key movements, color scheme etc.

Vim IDE setup

I have published all my vim configurations and plugin configuration in gitlab. You can simply clone it and configure the IDE setup. Following is the way to configure the IDE setup. In here I have created the symlinks for .vimrc, .gvimrc and .ideavimrc files. Then configured the plugins with git submodules.

Vim commands

Following are the set of Vim command I’m using in my IDE setup. It contains various command related to Vim plugins, movements, search, edit etc. I have compiled these commands into cheatsheet.

--

--