Having a good environment setup is important for effective, fast and easy coding.
We have different IDE's like eclipse, pycharm, sublime etc.. which are powerful and easy to use.
IDE's like eclipse, pycharm, sublime etc.. are resource intensive as they run many features, this is not a problem if you have really great system with powerfull resources.
So, Why bother with VIM:
1. Vim has unique key bindings which makes typing really fast and easy.
2. Vim key bindings makes hand movement at the least.
3. Vim is very light and very fast.
Vim is a simple plain editor but for easy coding we need features like autocompletion, code checker and project navigation. To implement these there are different plugins.
Before we install plugins lets setup vim with basic configuration.
Install vim using your package manager:
Ubuntu: apt-get install vim
ArchLinux: pacman -S vim
Vim uses ~/.vimrc file for configuration settings. Copy the following to ~/.vimrc file
Install Plugins:
Pathogen:
Why: It handles all the plugins we install, recomended way to install plugins.
Installation:
Run:
which creates ~/.vim/bundle and ~/.vim/autoload directories and copies pathogen.
Add the following line at the beginning in your ~/.vimrc file(neglect if already present)
Pyflakes:
Why: Its a python code checker, checks the code when we write to file and highlights the errors.
Installation:
Go to https://github.com/kevinw/pyflakes-vim and download pyflakes-vim.zip file then extract it to ~/.vim/bundle/ directory.
Paste the following to ~/.vimrc file(neglect if present already).
Jedi-vim:
Why: Its the python autocompletion library, suggests python modules as you type.
Installation:
CtrlP:
Why: Helps in navigating through project, uses fuzzy logic, so no need to remember exact file name.
Installation:
Vim-airline:
Why: Displays beautiful status of current file like its path, vim mode, current line number. Indeed not required if you are minimalist
Installation:
In my opinion installing different plugins will be flexible but adds complexity and makes vim slow, so the above plugins(excluding vim-airline) is all we need for effective, fast and easy coding
Django-CRM :Customer relationship management based on Django
Django-blog-it : django blog with complete customization and ready to use with one click installer Edit
Django-webpacker : A django compressor tool
Django-MFA : Multi Factor Authentication
Docker-box : Web Interface to manage full blown docker containers and images
More...