Vim as a Golang and Python IDE
Rahasak Ops
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
.
- vim-go - Vim Golang plugin. Supports syntax highlighting, auto completion, goto documentation etc.
- python-mode - Vim Python plugin. Supports syntax highlighting, run Python code, Python indentation etc.
- nerdtree - File system explorer for the Vim editor. Allows to browse directory hierarchies, open files, perform basic file system operations etc.
- powerline - Utility plugin to create better looking, more functional vim status line.
- ctrlp - Utility plugin to fuzzy search files. Allows to open files easily with fuzzy search.
- 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.